gpt4 book ai didi

python - 在多个文本文件中搜索两个字符串?

转载 作者:太空宇宙 更新时间:2023-11-03 15:10:05 25 4
gpt4 key购买 nike

我有一个包含许多文本文件(EPA10.txt、EPA55.txt、EPA120.txt...、EPA150.txt)的文件夹。我有 2 个要在每个文件中搜索的字符串,搜索结果写在文本文件 result.txt 中。到目前为止,我让它为单个文件工作。这是工作代码:

if 'LZY_201_335_R10A01' and 'LZY_201_186_R5U01' in open('C:\\Temp\\lamip\\EPA150.txt').read():
with open("C:\\Temp\\lamip\\result.txt", "w") as f:
f.write('Current MW in node is EPA150')
else:
with open("C:\\Temp\\lamip\\result.txt", "w") as f:
f.write('NOT EPA150')

现在我希望对文件夹中的所有文本文件重复此操作。请帮忙。

最佳答案

假设你有一些文件名从EPA1.txtEPA150.txt,但你不知道所有的名字,你可以把它们都一起放在一个文件夹中,然后使用 os.listdir() 方法读取该文件夹中的所有文件以获取文件名列表。您可以使用 listdir("C:/Temp/lamip") 读取文件名。

此外,您的 if 语句是错误的,您应该改为这样做:

text = file.read()
if "string1" in text and "string2" in text

代码如下:

from os import listdir

with open("C:/Temp/lamip/result.txt", "w") as f:
for filename in listdir("C:/Temp/lamip"):
with open('C:/Temp/lamip/' + filename) as currentFile:
text = currentFile.read()
if ('LZY_201_335_R10A01' in text) and ('LZY_201_186_R5U01' in text):
f.write('Current MW in node is ' + filename[:-4] + '\n')
else:
f.write('NOT ' + filename[:-4] + '\n')

PS:您可以在路径中使用/ 代替\\,Python 会自动为您转换它们。

关于python - 在多个文本文件中搜索两个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27981835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com