Python如何并排打印2个或更多文本文件的内容?
假设我有两个文本文件,Python如何并排打印2个或更多文本文件的内容?,python,file,Python,File,假设我有两个文本文件,fruit.txt和veg.txt,看起来像 Apple Pear Orange Brocolli Cucumber Spinach 我有几个for循环,用于打印.txt文件的内容 for line in fruit: fields = line.split("\n") col = fields[0] print(col) for line in veg:
fruit.txt
和veg.txt
,看起来像
Apple
Pear
Orange
Brocolli
Cucumber
Spinach
我有几个for循环,用于打印.txt文件的内容
for line in fruit:
fields = line.split("\n")
col = fields[0]
print(col)
for line in veg:
fields = line.split("\n")
col1 = fields[0]
print(col1)
我得到的结果是
Apple
Pear
Orange
Brocolli
Cucumber
Spinach
我想试着把它并排打印出来
Apple Brocolli
Pear Cucumber
Orange Spinach
您可以在内置字符串中使用
format
方法和zip\u longest
from itertools import zip_longest
...
# Assuming fruit is file_context.readlines()
fruits = fruit.split("\n")
vegs = veg.split("\n")
for l1,l2 in zip_longest(fruits, vegs, fillvalue=""):
print("{}\t{}".format(l1, l2))
zip_longest
将处理水果和蔬菜数量不等的情况
注意:以上内容将在Python3中使用。对于python 2,请记住替换:
from itertools import zip_longest
与:
更简单的方法是像这样使用readlines方法,“end”参数是在末尾打印的打印值,默认值为“\n”
fruits = fruit.readlines()
vegs = veg.readlines()
for i in range(min(len(vegs),len(fruits))):
print(fruits[i],end="\t")
print(vegs[i])
水果和蔬菜大小相同吗?看看函数。
[x代表zip中的x(水果,蔬菜)]
在本例中是的,但我还有一些其他长度不均匀的文本文件,例如3个水果和4个蔬菜。副本仍然存在。使用itertools.zip\u longest(…)
示例。对于此方法,我假设它不适用于不均匀列表?因为我在尝试时得到了一个索引器。这应该适用于不均匀列表,因为“I”实际上取“len(水果)”和“len(蔬菜)”的“min”值,请确保复制了min部分。
fruits = fruit.readlines()
vegs = veg.readlines()
for i in range(min(len(vegs),len(fruits))):
print(fruits[i],end="\t")
print(vegs[i])