python - 如何同时读取多个输入(文本)文件并在进行一些计算后再次打印?

标签 python text-files

我有来自两个不同词典(单独的txt文件)的两个输入,我想逐行读取这两个文件,比较并在txt文件中打印结果。 (循环) 我的两个输入看起来像这样

eshark 
white 
shark
shark
carcharodon
carcharias

etench
tinca 
goldfish 
carassius 
auratus
great

我试过了

with open('file1.txt', 'r') as f1: # for the first file 
data = f1.read()

with open('file2.txt', 'r') as f2:
data1 = f2.read() 
output = data == data1   # output is 1(true) or 0 (false)    
with open("Output1.txt", "w") as text_file 
text_file.write("word: %s :%s :%f" % (data ,data1 , output ))

我也尝试过,但同样的问题

with open('file1.txt') as f1,open('file2.txt') as f2:

当我的数据来自一个文件时,我得到了正确的输出,但是当我尝试使用两个文件时,我得到了以下输出:

word:shark 
white 
shark
shark
carcharodon
carcharias
:shark 

同时,我想要这个输出

word:etench : 0
word:white : tinca : 0
word:shark : goldfish  : 0 
word:shark : carassius : 0 
word:carcharodon : auratus : 0
word:carcharias : great : 0 

最佳答案

您可以使用 readlines 将文件读入列表,然后迭代进行比较:

with open('file1.txt', 'r') as f:
    data1 = f.readlines()
with open('file2.txt', 'r') as f:
    data2 = f.readlines()
data = zip(data1, data2)
with open('output.txt', 'a') as f:
    for x in data:
        out = '{} : {} : {}\n'.format(x[0].strip(), x[1].strip(), x[0] == x[1])
        f.write(out)

关于python - 如何同时读取多个输入(文本)文件并在进行一些计算后再次打印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41316270/

相关文章:

python - 如何在 Django 模板中显示搜索 API 返回结果的文档 ID?

python - 无法读取 Pandas 数据框中的嵌套 JSON

python - 在python中的进程之间共享连续的numpy数组

python - 为什么 mypy 拒绝我的 "mixed union"类型声明?

c++ - 列表 - 字符串 - 文本文件

java - 使用字节流写入文件

python - 更改包含最大值和最小值的列 python

Java程序比较两个文本文件,然后将第一个文本文件中找到的变量替换为第二个文件中的变量到第三个文件中

Java:如何从文本文件中读取特定行?

algorithm - 具有两个唯一列的最大行子集