Python 如何将行号添加到输出文件?

Python 如何将行号添加到输出文件?,python,text,formatting,Python,Text,Formatting,编写一个程序,要求用户提供一个包含程序和输出文件名的文件。然后,您的程序应该写入该程序,并将行号写入输出文件。例如,如果输入文件为: def main(): for i in range(10): print("I love python") print("Good bye!") 那么输出文件将是: 1 def main(): 2 for i in range(10): 3 print("I love python") 4

编写一个程序,要求用户提供一个包含程序和输出文件名的文件。然后,您的程序应该写入该程序,并将行号写入输出文件。例如,如果输入文件为:

def main():
    for i in range(10):
        print("I love python")
    print("Good bye!")
那么输出文件将是:

1   def main():
2       for i in range(10):
3           print("I love python")
4       print("Good bye!")
我知道如何创建一个新的输出文件,但我很难在每一行中添加行号。请帮忙!我的计划是:

filename = input("Please enter a file name: ")
filename2 = input("Please enter a file name to save the output: ")

openfile = open(filename, "r")
readfile = openfile.readlines()


out_file = open(filename2, "w")
save = out_file.write(FileWithLines)

首先,在使用文件()时,最好将
与…
语法结合使用

然后,您所要做的就是使用
enumerate
()
enumerate
是一个内置函数,它将序列(字符串、列表、dict、set等)作为输入,并使用计数器和序列的相应值生成元组

with open(filename, "r") as openfile:
    with open(filename2, "w") as out_file:
        for j, line in enumerate(openfile):
            out_file.write('{0:<5}{1}'.format(j+1, line))
以open(文件名,“r”)作为openfile的
:
打开(filename2,“w”)作为输出文件:
对于j,枚举(openfile)中的行:

out_file.write(“{0:请检查此项,它准确地描述了您要查找的内容。如果您需要更多详细信息,请告诉我。

换行调整是此问题的一部分还是意外?(指
打印(“再见!”)
)有趣的是:在这里快速提及enumerate的返回值/类型将是一个很好的补充。这和/或此函数的文档页将非常好!+1您可以用我的方式来做吗?我没有学习statement@malcolmwith语句将使您的生活更加轻松,尤其是使用文件I/O。这是一个极好的时机要了解使用
!@malcom的
,只需查看代码即可。就这么简单…无需关闭文件或在以后执行任何其他操作。在文件I/O的文档页面底部,您将看到一个干净的
使用
示例: