try:
data=open('info.txt')
for each_line in data:
try:
(role,line_spoken)=each_line.split(':',1)
print(role,end='')
print(' said: ',end='')
print(line_spoken,end='')
except ValueError:
print(each_line)
data.close()
except IOError:
print("File is missing")
ファイルを1行ずつ印刷する場合、コードは3つの不要な文字、つまり「ï"¿」を前面に追加する傾向があります。
実際の出力:
Man said: Is this the right room for an argument?
Other Man said: I've told you once.
Man said: No you haven't!
Other Man said: Yes I have.
期待される出力:
Man said: Is this the right room for an argument?
Other Man said: I've told you once.
Man said: No you haven't!
Other Man said: Yes I have.
Excelのcsvファイルを扱うときに、非常によく似た問題がありました。最初は、ドロップダウンの選択肢からファイルを.csv utf-8(カンマ区切り)ファイルとして保存していました。次に、.csv(カンマ区切り)ファイルとして保存しましたが、すべて問題ありませんでした。おそらく、.txtファイルに同様の問題がある可能性があります