【发布时间】:2022-07-08 02:07:15
【问题描述】:
很抱歉再次提出这个问题,但我犯了一个错误,没有提供足够的细节。 我想在我问过这个问题的列中对齐字符串并调整间距。
这里: How to align strings in columns?
但我无法将其应用于我的详细代码,这是我没有提供的错误。
我的代码:
import time
seperator='|'+'-'*33+'|\n'
seperator2='|'+'='*33+'|\n'
end = '|'+'^'*33+'|'
t=['Tuesday','July','2022','03','06']
try:
with open('time.txt','r') as f:
content = f.readlines()
except:
with open('time.txt','w') as f:
f.write('pass')
with open('time.txt','r') as f:
content = f.readlines()
if content[0] != '_________________________________\n':
with open('time.txt','w') as f:
header= '_'*33+'\n'+\
'|Day |Month |Year |Hour |Minute |\n'
data = (f'|{t[0]} |{t[1]} |{t[2]}'
f'|{t[3]} |{t[4]} |\n')
f.write(header+seperator+data+end)
elif content[0] == '_________________________________\n':
with open('time.txt','r+') as f:
saved=f.readlines()[:-1]
f.seek(0)
data = (f'|{t[0]} |{t[1]} |{t[2]}'
f'|{t[3]} |{t[4]} |\n')
f.writelines(saved+[seperator2,data,end])
time.txt 文件中的输出(如果已经运行过一次):
_________________________________
|Day |Month |Year |Hour |Minute |
|---------------------------------|
|Tuesday |July |2022|03 |06 |
|^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^|
输出(两次)(显示此以澄清数据应保存并重新打印):
_________________________________
|Day |Month |Year |Hour |Minute |
|---------------------------------|
|Tuesday |July |2022|03 |06 |
|=================================|
|Tuesday |July |2022|03 |06 |
|^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^|
我想要的输出:
_________________________________
|Day |Month |Year |Hour |Minute |
|-------------------------------|
|Tuesday |July |2022|03 |06 |
|===============================|
|Tuesday |July |2022|03 |06 |
|^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^|
我最初发的帖子在这里: How to align strings in columns?
我没有详细说明我的帖子的那个也许你可以阅读我问他们的问题和答案。
很抱歉第一次没有添加细节。
任何帮助将不胜感激,谢谢。
【问题讨论】:
-
可能您正在查看这样的字符串格式? geeksforgeeks.org/string-alignment-in-python-f-string
-
为什么不直接使用
pprint或tabulate或prettytable模块?只打印带有数据的数组的代码更少。 -
使用熊猫...请努力正确格式化您的代码
标签: python string multiple-columns