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的文档页面底部,您将看到一个干净的使用
示例: