我使用以下代码:
conan install --build
问题是f.write(str(foo) + ' ' + str(bar) + '\n')
中的字母数对于每个值都不同,我得到以下输出:
foo
问题是,因为我对所有值使用相同的空间量(Account Category DORMANT
Last Made Update 21/12/2013
Mortgages Partly Satisfied 0
)而' '
的字符串较长,所以值Mortgages Partly Satisfied
会向右移动。我想要的输出是:
0
我的问题是:有没有办法在一定数量的列之后插入第二个值Account Category DORMANT
Last Made Update 21/12/2013
Mortgages Partly Satisfied 0
,以便值始终对齐?
我希望我足够清楚。
答案 0 :(得分:1)
最好使用str.format
方法使用字符串格式,如下所示:
items = [
('Account Category', 'DORMANT'),
('Last Made Update', '21/12/2013'),
('Mortgages Partly Satisfied', '0'),
]
for label, value in items:
f.write('{:28} {}\n'.format(label, value))
:28
是宽度说明符。有关详细信息,请参阅format string docs。
答案 1 :(得分:0)
Python允许您通过指定给定字段应使用的字符数来为字符串添加填充。这可以在写入文件时使用,如下所示:
data = [["Account Category", "DORMANT"], ["Last Made Update", "21/12/2013"], ["Mortgages Partly Satisfied", "0"]]
with open('output.txt', 'w') as f:
for v1, v2 in data:
f.write("{:28} {}\n".format(v1, v2))
给你:
Account Category DORMANT
Last Made Update 21/12/2013
Mortgages Partly Satisfied 0