.txt
ファイルの各行の末尾をとしたいのですが、ファイルのコーディングはgb2312
ですまたは中国語が含まれているのでgbk
です。だから私は、その内容が次のように(各行の終わりにはリターンが含まれている)であるheheda.txt
という名前のファイルを、作成します。ファイルの各行にr '"'を追加するにはどうすればいいですか?
for line in open('heheda.txt', 'r'):
if not line[-2] == r'"':
print line
line = line[:-1] + r'"' + line[-1:]
print line
、それが返されます。
从前有座山"
shan里有个庙
"庙里有个"
laohe尚
を次に私が試したことは次のとおりです。
shan里有个庙
shan里有个庙"
laohe尚
laohe�"�
私はline.endswith(r'"')
とline[-1] == r'"'
を試してみましたので、各行の終わりには、line[-2]
である理由私は知りません。最初の文章は正しい書式をとり、2番目の文章は何か間違っています(�
)。
は、その後、私は、私は再び私を驚かせた、rb
とバイナリモードで読み取ろうとしました:
a_file = open(data_path+'heheda.txt', 'rb')
for line in a_file:
if line[-3] != r'"':
print line
line = line[:-2] + r'"' + line[-2:]
print line
、それが返されます。
shan里有个庙
shan里有个庙"
laohe尚
laohe�"��
この時、私はとline[-3] != r'"'
使用する必要があります文末が"
で終わるかどうかを判断する条件。 何が起こるかわかりません。 ところで、私はWindows7でPython 2.7.11で働いています。
何が起こっているのか分かりませんか?
は、より良い何が起こっているかを見てみましょうどの ')(はrepr'を私に思い出させるために代わりに印刷行の –
感謝を印刷のrepr(ライン)を使用するには私は本当に何が起こるか知っている! –