在 Python 中将行号添加到输出中
问题描述
例如,如果输入文件是:
For example, if the input file is:
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!")
我很难在每行中添加行.我的程序是:
I have difficulty in adding lines to each line. My program is:
filename = input("Please enter a file name: ")
count = 0
openfile = open(filename, "r")
for lines in openfile:
linenumbers = openfile.write(str(count)+' '+lines)
count += 1
print(count)
解决方案
使用 with 语句关闭文件缓冲区,只连接字符串:
Use a with statement to close the file buffer and just concatenate strings:
with open('file.txt', 'r') as program:
data = program.readlines()
with open('file.txt', 'w') as program:
for (number, line) in enumerate(data):
program.write('%d %s' % (number + 1, line))
相关文章