为了账号安全,请及时绑定邮箱和手机立即绑定

在 2 个不同文件中查找公共行

在 2 个不同文件中查找公共行

人到中年有点甜 2021-08-17 18:56:33
我试图在 2 个不同的文件中找到公共行,并试图在一个新的文本文件中列出它们。我在下面写了这个,但它没有找到公地,只写我在 arg2 中提供的任何文件。请帮我排除故障。#!/usr/bin/pythonimport sysdef find_common_lines(arg1, arg2, arg3):    fh1 = open(arg1, 'r+')    fh2 = open(arg2, 'r+')    with open(arg3, 'w+') as f:        for line in fh1 and fh2:            if line:                f.write(line)    fh1.close()    fh2.close()number_of_arguments = len(sys.argv) - 1if number_of_arguments < 3:    print("ERROR:\tThe script is called with less than 3 arguments, but it needs 3!")    print("Usage:\tfind_common_lines.py <file1> <file2> <output_filepath>")else:    arg1 = sys.argv[1]    arg2 = sys.argv[2]    arg3 = sys.argv[3]    find_common_lines(arg1, arg2, arg3)所以,基本上我想让这个脚本做的是:文件AAABBBCDDEGGC文件B123AABDDE345GHYGJK文件 CAABDDE谢谢!!!
查看完整描述

3 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

首先,使用“and”运算符时需要给出2条逻辑语句,现在您使用的是1条逻辑语句,然后直接在for循环中输入fh2。尝试将代码更改为以下几行:


for line in fh1 and fh2:

    if line:

        f.write(line)


if line in fh1:

    if line in fh2:

        f.write(line)


查看完整回答
反对 回复 2021-08-17
  • 3 回答
  • 0 关注
  • 131 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信