2016-08-11 5 views
-1

だから私はこれを行うことにより、message内のテキストファイルのすべての行を取得しようとしているコードを持っている:Pythonのio.open()はデフォルトセパレータとして何を使用しますか?

inbody = False 
lines = [] 
f = io.open(path, 'r', encoding='latin1') 
for line in f: 
    if inbody: 
     lines.appned(line) 
    elif line == '\n': 
     inbody = True 
f.close() 
message = '\n'.join(lines) 

目的はmessage内のテキストファイルのすべての行を取得することです。

for line in fは、fが反復可能であることを示しています。これは、io.open()が反復可能なシーケンスを返すと考えています。私の質問は:io.open()テキストファイルのこのシーケンスを生成するために使用する区切り記号は何ですか? https://docs.python.org/2/library/io.html#io.IOBase.readlineから

答えて

1

ラインターミネータが常にあるB '\ n' はバイナリファイルのため、テキストファイルの場合は、 open()の改行引数を使用して、 ターミネータを認識することができます。 https://docs.python.org/2/library/io.html#io.openから

0

:入力オン

、改行はなし、ユニバーサル改行モードが有効になっているがない場合。入力の行は '\ n'、 '\ r'または '\ r \ n'で終わることができ、これらは '\ n'に変換されて呼び出し元に返されます。 ''の場合、ユニバーサル改行モードが有効になりますが、行末は翻訳されていない呼び出し元に返されます。他の有効な値があれば、入力行は指定された文字列で終了し、行末は変換されていない呼び出し元に返されます。

関連する問題