ファイル内のすべての行を反復処理する関数が必要です。
これが私がこれまでに持っているものです:
def LineFeed(file):
ret = ""
for byte in file:
ret = ret + str(byte)
if str(byte) == '\r':
yield ret
ret = ""
ファイル内のすべての行は \r (\n ではありません) で終わり、"rb
" モードで読み込んでいます (このファイルをバイナリで読み込む必要があります)。yield
動作せず、何も返されません。問題がある可能性があります。 Pythonでバイト/文字をどのように表現するかわかりません。
「rb」ファイルでforループを実行すると、バイトではなく行を反復しようとするという考えが得られます...どうすればバイトを反復できますか? 私の問題は、標準の行末がないことです。また、私のファイルは0x00バイトでいっぱいで、それらをすべて取り除きたいので、2番目のyield関数が必要だと思います.どうすればそれを実装できますか.Pythonで0x00バイトを表現する方法がわかりません.またはNULL文字。