90

現在のオペレーティング システムで使用されている行末の種類を取得する簡単な方法はありますか?

4

4 に答える 4

129

テキスト モードで開いたファイルを操作している場合、改行がすべて ' \n' として表示されることは間違いありません。それ以外の場合は、 を探していos.linesepます。

http://docs.python.org/library/os.htmlから:

オス。線分

現在のプラットフォームで行を区切る (というか、終了する) ために使用される文字列。これは、POSIX の場合は '\n' などの 1 文字、または Windows の場合は '\r\n' のように複数の文字の場合があります。テキストモードで開いたファイルを書き込むときは、行末記号として os.linesep を使用しないでください (デフォルト)。すべてのプラットフォームで、代わりに単一の '\n' を使用してください。

于 2009-01-18T08:21:16.447 に答える
20

ああ、私はそれを理解しました。どうやら、PEP-278は次のように述べています。

入力ファイルで終わるすべての行は、Python では '\n' と見なされるため、ユニバーサル改行を処理するために他のコードを変更する必要はほとんどありません。

于 2009-01-18T06:07:20.540 に答える
7

テスト担当者を指定する場合。ファイルを開くときに適切にバイナリを使用し、ユニバーサル改行を使用する場合、ほとんどの場合、さまざまな改行について心配する必要はありません。

ただし、必要に応じてos.linesepを使用してください

于 2009-01-18T08:21:36.040 に答える