現在のオペレーティングシステムで使用されている種類の行末を取得する簡単な方法はありますか?
テキストモードで開いたファイルを操作している場合は、改行がすべて「\n
'。それ以外の場合は、 os.linesep
。
http://docs.python.org/library/os.html から:
os。linesep
現在のプラットフォームで行を区切る(または、むしろ終了する)ために使用される文字列。これは、POSIXの「\ n」などの単一文字、またはWindowsの「\ r\n」などの複数文字の場合があります。テキストモード(デフォルト)で開かれたファイルを書き込むときに、行終端記号としてos.linesepを使用しないでください。代わりに、すべてのプラットフォームで単一の「\ n」を使用します。
ああ、私はそれを理解しました。どうやら、 PEP-278 は次のように述べています:
入力ファイルで終わる行はすべてPythonで「\ n」と見なされるため、ユニバーサル改行を処理するために他のコードを変更する必要はほとんどありません。
テスト応答を指定する場合。ファイルを開くときにバイナリを正しく使用し、ユニバーサル改行を使用すると、ほとんどの場合、異なる改行を心配する必要はありません。
ただし、必要な場合は os.linesep を使用します
os.linesepは、osに依存しているため(名前が示すとおり:))重要です。
例えば。 Windowsでは、「\ n」ではなく「\ r\n」です。
ただし、マルチプラットフォームのものを気にしない場合は、「\ n」を使用できます。