Python3.9-如何打印和格式化.txt文件?
我将如何定义一个函数,以便在不更改文件内容的情况下以特定方式打印文本文件?或者也许有什么更有效的方法来解决这个问题?
文本文件:
menu.txt
Cheese Burger, 5.00
Chicken Burger, 4.50
Fries, 2.00
Onion Rings, 2.50
Drinks, 1.50
期望的输出:
1. Cheese Burger 5.00
2. Chicken Burger 4.50
3. Fries 2.00
4. Onion Rings 2.50
5. Drinks 1.50
回答
您可以使用enumerate从1.
要按照您提到的方式打印输出,您需要使用String formatting- Docs
我使用过{item:25}- 这将使项目的宽度为 25。您可以输入任何您希望获得所需空间的数字。
从文档:
在 ':' 之后传递一个整数将导致该字段的字符数最少。这对于使列对齐很有用。
with open('menu.txt', 'r') as f:
lines = f.readlines()
for i,v in enumerate(lines,1):
item, price = v.strip('n').split(',')
print(f'{i}. {item:25}{price}')
Output
1. Cheese Burger 5.00
2. Chicken Burger 4.50
3. Fries 2.00
4. Onion Rings 2.50
5. Drinks 1.50