【发布时间】:2021-06-17 09:15:12
【问题描述】:
函数 f 打印一个文本文件。如何构建一个将数字放在行前的装饰器?我试图在一行的开头添加一个数字,但它只是把文本文件弄得一团糟。
【问题讨论】:
-
您好 DSS,我们可以为您提供什么帮助。 f() 函数在哪里?
标签: python decorator python-decorators
函数 f 打印一个文本文件。如何构建一个将数字放在行前的装饰器?我试图在一行的开头添加一个数字,但它只是把文本文件弄得一团糟。
【问题讨论】:
标签: python decorator python-decorators
你并不需要一个装饰器,但如果你愿意,你可以做一个。
以下代码将打印行号和文本。我使用了enumerate 函数,它将文件作为行列表进行迭代,并返回从 1 开始的文本和索引。
with open('./file.txt','r') as file:
for line_number, text in enumerate(file, start=1): # thanks to Mustafa Aydın
print(str(line_number) + " : " +text, end="")
输出
1 : this
2 : file
3 : contains
4 : 5
5 : lines
【讨论】: