gpt4 book ai didi

python - 如何使用 Python 从 ZIP 文件中查找字符串

转载 作者:行者123 更新时间:2023-11-28 19:28:32 26 4
gpt4 key购买 nike

我正在尝试从包含 n 个文件的 ZIP 文件中读取一个字符串。如果字符串存在于文件中,则必须将该文件移动到特定位置。

import zipfile,os,shutil

f = []
files = 'Contains given substring'
os.chdir(r'C:\Users\Vishali\Desktop\PY\POC')

archive = zipfile.ZipFile('PY.zip')
print(archive.namelist())

for n in archive.namelist():
print(n)

f1 = archive.open(n,'r')
re = f1.readlines()
print(files)
print(re)
if files in re:
shutil.copy(n,r'C:\Users\Vishali\Desktop\PY\s')
f.append(f1)

print(f)

但是,如果字符串存在于文件中,则不会被检测到。 f 仍然是一个空列表。

最佳答案

“re”是一个列表。我将 @jpmc26 的反馈合并到我的原始答案中。

改变这个:

if files in re:
shutil.copy(n,r'C:\Users\Vishali\Desktop\PY\s')
f.append(f1)

为此:

decode = ''
for lines in re:
decode = decode + lines.decode('utf-8')
if files in decode:
shutil.copy(n,r'C:\Users\Vishali\Desktop\PY\s')
f.append(f1)

这会正确解码由 zipfile 检索到的行(如果文件采用 UTF-8 编码),并且会从您的搜索中消除转义字符,否则可能会导致误报。

关于python - 如何使用 Python 从 ZIP 文件中查找字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57561905/

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