Python 在目录中查找多个字符串
我有一个满是文件的目录和一组需要识别的字符串(大约40个)。我希望遍历目录中的所有文件,并打印出包含任何字符串的文件名。我发现代码可以完美地工作(),但它只适用于一个字符串。每当我尝试添加更多内容时,它都会打印出目录中每个文件的名称。有人能帮我调整代码吗?因为我几天前刚开始编程,不知道该怎么做Python 在目录中查找多个字符串,python,csv,directory,Python,Csv,Directory,我有一个满是文件的目录和一组需要识别的字符串(大约40个)。我希望遍历目录中的所有文件,并打印出包含任何字符串的文件名。我发现代码可以完美地工作(),但它只适用于一个字符串。每当我尝试添加更多内容时,它都会打印出目录中每个文件的名称。有人能帮我调整代码吗?因为我几天前刚开始编程,不知道该怎么做 import glob for file in glob.glob('*.csv'): with open(file) as f: contents = f.read()
import glob
for file in glob.glob('*.csv'):
with open(file) as f:
contents = f.read()
if 'string' in contents:
print file
该代码取自我上面提到的问题。如果您能提供任何帮助,我们将不胜感激,如果您有任何关于提问的建议,我们将不胜感激!谢谢大家! 您可以尝试:
import glob
strings = ['string1', 'string2']
for file in glob.glob('*.csv'):
with open(file) as f:
contents = f.read()
for string in strings:
if string in contents:
print file
break
关于提出更好的问题:我只想使用
grep
:
$ grep -l -f strings.txt *.csv
预期的结果是什么?至少包含一个字符串的文件列表或包含所有字符串的文件列表?@sashkello:至少一个..然后@Bonifacio2 answer应该可以工作。我对此有点陌生,你能再解释一下吗?但grep不是python