Python 3.x 如何使用文件行中的一个或多个参数执行和运算符搜索?

Python 3.x 如何使用文件行中的一个或多个参数执行和运算符搜索?,python-3.x,Python 3.x,我正在尝试创建一个python脚本,该脚本能够在文件行中使用一个或多个参数进行搜索,但经过多次测试后,我无法做到这一点 这是我的python代码: for log_files in os.listdir(path): files = os.path.join(path, log_files) strng = open(files) for lines in strng.readlines(): lines = re.sub('"','', lines)

我正在尝试创建一个python脚本,该脚本能够在文件行中使用一个或多个参数进行搜索,但经过多次测试后,我无法做到这一点 这是我的python代码:

for log_files in os.listdir(path): 
files = os.path.join(path, log_files)
strng = open(files)
for lines in strng.readlines():
            lines = re.sub('"','', lines)
            if (sys.argv[2] and sys.argv[3]) in lines:
                # if sys.argv[3] in lines:
                # print("Matched !!")
                lines=log_files+"__"+lines
                print(lines)
                content_array.append(lines)

代码向我显示了一个结果,这意味着它没有考虑if语句中的两个参数

代码的问题在于if条件

 if (sys.argv[2] and sys.argv[3]) in lines:
应该是

if sys.argv[2] in lines and sys.argv[3] in lines:
请参阅以供参考

其他可能的解决方案是使用

arg_list = [sys.argv[2], sys.argv[3]]
for lines in strng.readlines():
    if all(arg in lines for arg in arg_list):
        print(lines)