我有一个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
我现在不知道该怎么办。请帮忙。
答案 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