编写一个程序,要求用户提供包含程序和输出文件名称的文件。然后,您的程序应该编写程序,并在输出文件中添加行号。例如,如果输入文件是:
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)
答案 0 :(得分:2)
首先,在使用文件(https://docs.python.org/2/tutorial/inputoutput.html)时最好使用with ...
语法。
然后,您所要做的就是使用enumerate
(https://docs.python.org/2/library/functions.html#enumerate)。 enumerate
是一个内置函数,它将序列(字符串,列表,字典,集合,...)作为输入,并使用计数器和序列的相应值生成元组。
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))
答案 1 :(得分:0)
查看此question,它会准确描述您正在寻找的内容。如果您需要更多详细信息,请与我们联系。