私は、ファイル操作の niversal newline 機能が廃止されそうなことに気づきました。
Python 3.5 open
のmode
パラメータのドキュメントは、非推奨であることを示しています:
'U'
ユニバーサル改行モード(非推奨)
少なくともPython 3.2、 open
までは、mode
引数:
'U'
ユニバーサル改行モード(下位互換性のため。新しいコードでは使用しないでください)
Python 2.7でも、同様の警告が io.open
。
これの理由は何ですか?
Python 3ライブラリの open()
function にはnewline
引数があります。これをNone
に設定すると、ユニバーサル改行。これは、mode='U'
引数は冗長です。
使用する newline=None
ユニバーサル改行モードを有効にします(これがデフォルトです)。
この質問に出くわした後、私はドキュメントを更新して何が起こっているのかを明確にしました( https://github.com/python/cpython/pull/11646/files )。
'U'
のわかりにくいテーブルエントリは紛らわしく、代わりに次のように記載されています。
追加のモード文字
'U'
が許可されていますが、これは効果がなく、非推奨と見なされています。以前はテキストモードで:term:universal newlines
を有効にしていましたが、これはPython 3.0でデフォルトの動作になりました。詳細については、:ref:newline <open-newline-parameter>
パラメータのドキュメントを参照してください詳細。