ファイルの行を繰り返し処理し、行の各文字を処理する場合は、2番目のfor
をfor ch in line:
に変更してください。
コメントでkuroが言及しているので、改行ではなく、スペース文字に遭遇したときにのみ、読んだ単語を印刷しています。あなただけが発生したそれぞれの新しい単語を印刷することを意味している場合、あなたはおそらくchars = ''
をリセットしたい
Lorem
Lorem ipsum
Lorem ipsum dolor
Lorem ipsum dolor sit
Lorem ipsum dolor sit amet,
Lorem ipsum dolor sit amet, consetetur
Lorem ipsum dolor sit amet, consetetur sadipscing
:道は今、すべてを印刷しているあなたのprint
作品はとてもサンプル出力は次のようになります、各スペースの後に単語を読んで印刷後に各単語の後に改行を抑制するには、print(chars, end='')
を使用できます。
with
ステートメント内のファイルを開く方が安全です。ファイルを閉じると処理されます。
次に、あなたのコードは次のようになります。あなたの最後の言葉は続いていないときに、あなたがそう、スペースにのみ印刷
Lorem ipsum dolor sit amet, consetetur sadipscing
お知らせ:
with open('file analysis.txt', 'r') as file:
chars = ''
for line in file:
for ch in line:
chars = chars + ch
if ch == ' ':
print(chars, end='')
chars = ''
これは次の出力を与えるだろうスペースは、読み取られますが、印刷されません。
あなたは 'for ch in file'の代わりに' for ch in line'を意味しているかもしれません。また、 'ch'行の最後の単語の場合は、スペースの代わりに' \ n 'となります。 – kuro
また、印刷後に 'chars'を再び' '' 'に戻すことを意味しましたか? –