如何用Python将输出打印为两列?输出格式异常求助(附代码)
解决Python两列打印格式问题并修复输出混乱
首先咱们先搞清楚你当前输出格式混乱的原因:你的代码里每次先打印URL(单独一行),然后再打印对应的ETag或错误信息(又是单独一行),这样每个URL和它的结果就分成了两行,当处理多个条目时,很容易搞不清哪个结果对应哪个URL,自然就显得混乱了。
要实现两列对齐打印,咱们只需要把URL和它的结果放在同一行输出,并且通过字符串格式化保证两列对齐就行。下面是修改后的完整代码:
import xlrd # 读取Excel import urllib.request # 处理URL请求 path = 'F:/4480/ASSIGNMENT.xlsx' data = xlrd.open_workbook(path) table = data.sheets()[0] # 打印表头,让结构更清晰 print(f"{'URL':<50} {'ETag/状态'}") print("-" * 70) # 打印分隔线,增强可读性 for x in table.col_values(0): result = "" try: response = urllib.request.urlopen(x) result = response.getheader('ETag') except Exception as e: # 这里可以保留原错误提示,也可以打印具体异常信息方便排查 result = "not url" # 使用f-string格式化,左对齐URL(占50个字符宽度),右侧显示结果 print(f"{x:<50} {result}")
关键修改点说明:
- 合并输出行:把原来分开的两次
print合并成一次,让每个URL和对应的结果在同一行显示,从根源上解决对应关系混乱的问题。 - 格式化对齐:用
f"{x:<50}"让URL左对齐并占用固定50个字符的宽度,这样第二列的内容会整齐地对齐在同一竖线上,看起来更像标准的两列表格。 - 添加表头和分隔线:让输出结构更清晰,一眼就能看懂每列代表什么。
- 优化异常捕获:把
except:改成except Exception as e:(可选),如果需要排查具体错误,可以把result改成f"not url: {str(e)}",方便定位问题。
这样修改后,你的输出就会变成整齐的两列,每个URL和它的结果一一对应,再也不会混乱啦~
内容的提问来源于stack exchange,提问作者user3424697
相关产品推荐
相关产品推荐

