【发布时间】:2021-08-06 22:30:49
【问题描述】:
我正在尝试将元组列表写入 txt 文件并将其与左侧对齐。 (需要用制表符分隔) 这是元组列表:
list1 = [(1, "Banana", "Yellow"), (2 , "Apple", "Red"), (3, "Carrot", "Orange")]
这是我写的代码:
def write_fruit(list1,new_file):
if not isinstance(list1, list):
raise ValueError("First input must be a list.")
header = "Num Fruit Color"
with open(new_file, "w") as output:
output.write(header + "\n")
for line in list1:
if not isinstance(line[1], str):
raise ValueError("Second input must be a str.")
vals = " ".join(str(i) for i in line)
output.write(vals + "\n")
print(write_fruit(fruit_list, "fruit_list.txt"))
我的 txt 文件如下所示:
Num Fruit Color
1 Banana Yellow
2 Apple Red
3 Carrot Orange
我需要它向左对齐,我看到了一些看起来像 {: >20} 的建议,但并没有真正理解其背后的逻辑,所以如果有不同的方法我会很高兴。
【问题讨论】:
-
第一:我没有看到任何标签
\t,你只使用空间 -
使用格式化方法,可以在那里指定字段宽度。
-
我不明白您是如何获得该文本文件的。您的代码在每个字段之间只放置一个空格,但每行的空格数不同。
-
什么逻辑你不懂?格式化操作符
{:>20}的意思是将对应的值放在一个左对齐的 20 个字符的字段中。
标签: python list function tuples