Python 如何使用具有可变长度(而不是#)的{:<;#}字符串对齐方式?
我想在左对齐(对齐)上打印一些数据,但在打印之前,间距可能需要实时更改,因此我想使用一个变量,而不是固定的硬编码空间宽度 我尝试使用一个变量来保存空格数,但这确实有效:Python 如何使用具有可变长度(而不是#)的{:<;#}字符串对齐方式?,python,string,formatting,Python,String,Formatting,我想在左对齐(对齐)上打印一些数据,但在打印之前,间距可能需要实时更改,因此我想使用一个变量,而不是固定的硬编码空间宽度 我尝试使用一个变量来保存空格数,但这确实有效: string_alignment_spacing = 15 print("|{:<string_alignment_spacing }|{:<string_alignment_spacing }|{:<string_alignment_spacing }|".format('Butter', 'Toast',
string_alignment_spacing = 15
print("|{:<string_alignment_spacing }|{:<string_alignment_spacing }|{:<string_alignment_spacing }|".format('Butter', 'Toast', 'Gravy'))
但是,你可以得到:
ValueError: Invalid format specifier
将
string\u alignment\u space
放在{}
内部,并放在format()
方法集关键字参数string\u alignment\u space=string\u alignment\u space
:
string_alignment_spacing = 15
print("|{:<{string_alignment_spacing}}|{:<{string_alignment_spacing}}|{:<{string_alignment_spacing}}|".format('Butter', 'Toast', 'Gravy', string_alignment_spacing=string_alignment_spacing))
编辑(使用f字符串):
字符串对齐间距=15
打印(f'{“Butter”:将字符串对齐间隔
放入{}
内部,并使用格式()
方法集关键字参数字符串对齐间隔=字符串对齐间隔
:
string_alignment_spacing = 15
print("|{:<{string_alignment_spacing}}|{:<{string_alignment_spacing}}|{:<{string_alignment_spacing}}|".format('Butter', 'Toast', 'Gravy', string_alignment_spacing=string_alignment_spacing))
编辑(使用f字符串):
字符串对齐间距=15
print(f'|{“Butter”:在下面的代码中,字符串对齐间距仅为str,后面有一个非法空格。
print("|{:<string_alignment_spacing }|{:<string_alignment_spacing }|{:<string_alignment_spacing }|".format('Butter', 'Toast', 'Gravy'))
print(“|{:在下面的代码中,字符串对齐间距仅为str,后面有非法空格。
print("|{:<string_alignment_spacing }|{:<string_alignment_spacing }|{:<string_alignment_spacing }|".format('Butter', 'Toast', 'Gravy'))
print(“|{:
print("|{:<string_alignment_spacing }|{:<string_alignment_spacing }|{:<string_alignment_spacing }|".format('Butter', 'Toast', 'Gravy'))
formatstr = "|{:<%s}|{:<%s}|{:<%s}|"%(15,15,15)
print(formatstr.format('Butter', 'Toast', 'Gravy'))