我有一个文件(A.txt
),它有一系列的行。我想读取文件(A)并创建一个新文件(B
)并在开头添加一个数字和一个分号,并在每行的文本前面添加一个空格。目前我有:
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
)进行所有更改。
有什么想法吗?
答案 0 :(得分:1)
以写入模式open("B.txt", "w")
打开文件B,然后在新文件描述符上调用write,而不是调用print
。
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