如何读取文件夹中的文件,该文件夹本身位于zip文件中

时间:2016-06-07 11:21:24

标签: python zip

我有一个zip文件,它由一个与zip文件同名的文件夹组成(即如果zip文件夹的名称是1.zip,那么zip文件中的文件夹名称将是1.)
现在这个文件夹包含一个文本文件说atextfile.txt,我想打印这个文件的内容 如果atextfile.txt就在zip文件中,我编写了代码。

    for zip_name in glob.glob('[0-9].zip'):
    # the zip file name one numeric digit only.
        z=zipfile.ZipFile(zip_name)
        with z.open('atextfile.txt') as f:
            for line in f:
                for word in line:
                    print word

我现在不知道该怎么办。请帮忙。

1 个答案:

答案 0 :(得分:2)

您可以使用ZipFile.open()将路径名添加到要解压缩的文件名中。以下是如何使用您在问题中描述的命名方案自动执行此操作:

for zip_name in glob.glob('[0-9].zip'):
# the zip file name one numeric digit only.
    z=zipfile.ZipFile(zip_name)
    subdir = zip_name[:-4]    # the glob pattern ensures that the file name ends with ".zip", so strip off the extension
    with z.open('{}/atextfile.txt'.format(subdir)) as f:
        for line in f:
            for word in line:
                print word