Python 3.x 如何使用文件行中的一个或多个参数执行和运算符搜索?
我正在尝试创建一个python脚本,该脚本能够在文件行中使用一个或多个参数进行搜索,但经过多次测试后,我无法做到这一点 这是我的python代码: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)
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)