如何在Python中并排打印两个及以上文本文件内容?
实现两个文本文件内容并排打印的解决方案
嘿,我来帮你搞定这个并排打印的需求!你的现有代码是分别遍历两个文件逐行打印,所以会是上下排列的效果。要实现对应行并排输出,我们可以把两个文件的内容配对后再打印,具体代码和思路如下:
修改后的代码
# 安全打开两个文件,读取所有行并清理换行符 with open('fruit.txt', 'r') as fruit_file, open('veg.txt', 'r') as veg_file: # 读取每行并去除末尾的换行/空白字符 fruit_list = [line.strip() for line in fruit_file] veg_list = [line.strip() for line in veg_file] # 配对对应行并打印 for fruit, veg in zip(fruit_list, veg_list): print(f"{fruit} {veg}")
为什么这样可行?
- 首先用
with语句打开文件是Python的最佳实践,它会在代码块结束后自动关闭文件,避免资源泄漏。 - 用
strip()处理每行内容,能去掉每行末尾的换行符(\n)和可能存在的多余空格,保证内容干净。 zip()函数会把两个列表的对应元素打包成一组,比如第一个水果配第一个蔬菜,第二个配第二个,这样遍历的时候就能同时拿到一对内容,用f-string格式化后就能实现并排打印的效果。
如果你的两个文件行数不一致,zip()会以行数少的那个文件为准停止遍历。要是想处理行数不同的情况,可以用itertools.zip_longest(需要先导入itertools模块),它会用默认值填充缺失的项。
内容的提问来源于stack exchange,提问作者Ken Doe
相关产品推荐
相关产品推荐

