ファイルのすべての行の最初の文字をプルして、新しいファイルにそれらの文字を印刷しようとしています。私はステップバイステップで作業しているので、すべての行の最初の文字をプルできるコードを作成しましたが、特定のファイルを読み込むコードを追加すると、ファイル全体を適切に反復処理していないように見えますコンテンツ。誰かが私のforループが反復しない理由を知っていますか?または、おそらく、iteratingですが、 '行'に文字を正しく追加しないという問題です。ファイルの最初の文字を返す
def secret2(m):
infile = open(m, 'r')
text = infile.read()
for line in text:
lines = text[0]
for i in range(len(text)):
if text[i] == '\n':
lines += text[i+1]
print(lines)
return(lines)
m.close()
出力:
>>> secret2('file.txt')
A
'A'
>>>
適切な出力は次のようになります。
>>> secret2('file.txt')
'ALICE'
>>>
でなければなりません。 'for line in text:'は実際に行を読んでいません。 –
@ cricket_007これは私のread()関数の使用によるものですか?意味、read()はデフォルトでchar-by-charになりますか?ああ、私は見ていると思う、または私は(= =)行=テキスト[0]ループの外に追加する必要がありますか? – penmas
'read()'はファイル全体を一つの文字列として扱います。文字列のforループはcharによってcharになります。あなたは 'infileの行のために 'できたかもしれませんが、以下の1行のアプローチは私が使用するものです –