2017-11-22 7 views
0

ファイルには一連の行があります(A.txt)。私はファイル(A)を読んで、新しいファイル(B)を作成し、最初に数字とセミコロンを追加し、各行のテキストの前にスペースを追加したいと思います。現時点では私が持っている:python行の前に数字を追加して新しいファイルに書き出します

with open('A.txt','r+') as f: 
for index, line in enumerate(f.readlines(), start=1): 
    print('{:4d}: {}'.format(index, line.rstrip())) 

上記のコードは、ファイル(A)を取り、私が望む形式で番号を追加します。問題は、ファイル(A.txt)を残す方法がわからず、A.txtの内容をそのままそのまま読み込み、ファイル(B.txt)にすべて変更を加えます。 アイデアをお願いしますか?

答えて

1

書き込みモードでファイルopen("B.txt", "w")を開き、printを呼び出す代わりに、新しいファイル記述子でwriteを呼び出します。あなたのプログラムは次のようになり

with open("A.txt", "r") as a, open("B.txt", "w") as b: 
    b.write(...) 

with open("A.txt", "r") as a, open("B.txt", "w") as b: 
    index = 1 
    for line in a: 
     b.write("{:4d}: {}\n".format(index, line.rstrip())) 
     index += 1 
+0

OK、働いたようだが、それはB.TXTの一行で、A.TXTのすべての異なるラインをパット。どのように私はそれを修正するのですか? – john

+0

@john例で改行を追加するのを忘れました。編集された答えを確認してください。 – sebasth

関連する問題