python在行前添加数字并将其导出到新文件

时间:2017-11-22 09:24:54

标签: python-3.x

我有一个文件(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)进行所有更改。 有什么想法吗?

1 个答案:

答案 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