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

2024-04-20 12:36:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从一个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仍然是一个空列表。在


Tags: 文件字符串pyreosfilesusersf1
1条回答
网友
1楼 · 发布于 2024-04-20 12:36:11

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

更改此项:

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

为此:

^{pr2}$

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

相关问题 更多 >