良い最初の試み、およびそれに、私はあなたのコードを通過し、あなたが右(か間違って)何をしたかを説明することができます
file_object=open("lines.txt",'r')
for ln in file_object:
print(ln)
一般的に、あなたがスペースを配置するが、これは、罰金です前後の割り当て(引数を分離する際、あなたがそうのようなことを書きたいと思うかもしれませんので、あなたは、 `、file_object) and add a space after a
にopen
の結果を割り当てる:
file_object = open("lines.txt", 'r')
for ln in file_object:
print(ln)
しかし、このPOIでfile_object
の内部参照がファイルの最後に達しているので、同じオブジェクトを再利用したい場合は、0
の先頭位置に戻るseek
を戻す必要があります。あなたの割り当ては、ファイルに書いているだけで(画面ではなく)、ファイルから上記のループを削除する必要があります(しかし、私はあなたがしたいことを得ます。彼らが受け入れるものにかなり厳しい)。移動先:
これまでのところ、やや軽い書式設定の問題があります。 Pythonでは、通常、すべての変数の名前は小文字で、Capitalizationの名前は一般的にクラス名用に予約されています(ご希望の場合はread about them)。今すぐループに入ります
print(count,' Line',(str))
これはあなたの望むものではありません。 ' Line'
は引用符で囲まれているため、文字列リテラルとして扱われるため、文字通りテキストとして扱われ、コードではありません。 Line
を割り当てていれば、引用符を取り出すことができます。最後の(str)
は単に文字列オブジェクトを出力するだけで、間違いなくあなたが望むものではありません。また、印刷するfile
を指定するのを忘れました。デフォルトでは画面に印刷されますが、開いてfile_input
に割り当てたnumbered_lines.txt
ファイルに印刷します。これを後で修正します。
count=+1
あなたが異なっこれをフォーマットする場合は、count
から+1
を割り当てています。私はあなたがそれを増やすために+=
演算子を使いたいと思っています。あなたのクイズ/テストでこれを覚えておいてください。最後に
:彼らは関数として呼び出されることを意味している
file_object.close
file_input.close
は、あなたが引数と最後に括弧を追加することによって、それらを起動する必要がありますが、close
が引数をとらないよう、括弧内の何も存在しません。すべてをまとめると、プログラムの完全な修正コードは次のようになります。
file_object = open("lines.txt", 'r')
count = 1
file_input = open("numbered_lines.txt", 'w')
for line in file_object:
print(count, line, file=file_input)
count += 1
file_object.close()
file_input.close()
プログラムを実行します。すべてのテキスト行の間に余分な空白行があることがわかります。これは、デフォルトではprint
関数が新しい行end
を追加するためです。ファイルから得た行に改行文字が含まれていたので、ここに行を追加する必要はありません。もちろん空の文字列に変更することはできます。その行は次のようになります。
print(count, line, file=file_input, end='')
当然、他のPythonプログラマはPython的な方法があることを教えてくれますが、あなたはちょうど始めている、(それらについてはあまり心配しないでください、あなたは間違いなく、この後に拾うことができますが、私は非常に奨励しますあなたに!)
あなたは決して 'file_input'を使用しません。 –
ファイルの "書き込み"機能を調べてください。また、最後の2行はfile_object.close()とfile_input.close()でなければなりません。 – Checkmate
あなたの返事をありがとう、私は本当に感謝し、それはトンを助けた! –