如何在输出文件中添加行号?

时间:2015-03-25 22:50:36

标签: 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       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)

2 个答案:

答案 0 :(得分:2)

首先,在使用文件(https://docs.python.org/2/tutorial/inputoutput.html)时最好使用with ...语法。

然后,您所要做的就是使用enumeratehttps://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,它会准确描述您正在寻找的内容。如果您需要更多详细信息,请与我们联系。