我有一个zip文件,其中包含三个zip文件,如下所示:
zipfile.zip\
dirA.zip\
a
dirB.zip\
b
dirC.zip\
c
Run Code Online (Sandbox Code Playgroud)
我想在具有这些名称(dirA,dirB,dirC)的目录中提取zip文件中的所有内部zip文件.
基本上,我想最终得到以下架构:
output\
dirA\
a
dirB\
b
dirC\
c
Run Code Online (Sandbox Code Playgroud)
我尝试过以下方法:
import os, re
from zipfile import ZipFile
os.makedirs(directory) # where directory is "\output"
with ZipFile(self.archive_name, "r") as archive:
for id, files in data.items():
if files:
print("Creating", id)
dirpath = os.path.join(directory, id)
os.mkdir(dirpath)
for file in files:
match = pattern.match(filename)
new = match.group(2)
new_filename = os.path.join(dirpath, new)
content = archive.open(file).read()
with open(new_filename, "wb") as outfile:
outfile.write(content)
Run Code Online (Sandbox Code Playgroud)
但它只提取zip文件,我最终得到:
output\
dirA\
dirA.zip
dirB\
dirB.zip
dirC\ …Run Code Online (Sandbox Code Playgroud) 我想知道是否有人知道如何将我的zip文件夹("fw/resources/logo.png")中名为"logo.png"的文件重命名为("fw/resources/logo.png.bak"),使用python的zip模块.
当 zip 文件存在于脚本文件所在的不同目录中时,如何使用 python 提取 zip 文件。我尝试这个,但我收到错误,因为源路径不被接受,尝试解决我这个问题。
from zipfile import ZipFile
def func(source, target):
with ZipFile('source', 'target'):
ZipFile.Extractall('target')
Run Code Online (Sandbox Code Playgroud) 我尝试解压缩150个zip文件.所有的zip文件都是不同的名称,它们都分布在一个大文件夹中,分成很多子文件夹和子子文件夹.我想将每个存档提取到与原始zip文件名同名的单独文件夹中.与原始zip文件位于同一位置.我的代码是:
import zipfile
import os,os.path,sys
pattern = '*.zip'
folder = r"C:\Project\layers"
files_process = []
for root,dirs,files in os.walk(r"C:\Project\layers"):
for filenames in files:
if filenames == pattern:
files_process.append(os.path.join(root, filenames))
zip.extract()
Run Code Online (Sandbox Code Playgroud)
我运行代码后没有发生任何事情.在此先感谢任何帮助.
我已经用wget下载了数据
!wget http://nlp.stanford.edu/data/glove.6B.zip
- ‘glove.6B.zip’ saved [862182613/862182613]
Run Code Online (Sandbox Code Playgroud)
它另存为zip,我想使用zip文件中的Gloves.6B.300d.txt文件。我想要实现的是:
embeddings_index = {}
with io.open('glove.6B.300d.txt', encoding='utf8') as f:
for line in f:
values = line.split()
word = values[0]
coefs = np.asarray(values[1:],dtype='float32')
embeddings_index[word] = coefs
Run Code Online (Sandbox Code Playgroud)
我当然有这个错误:
IOErrorTraceback (most recent call last)
<ipython-input-47-d07cafc85c1c> in <module>()
1 embeddings_index = {}
----> 2 with io.open('glove.6B.300d.txt', encoding='utf8') as f:
3 for line in f:
4 values = line.split()
5 word = values[0]
IOError: [Errno 2] No such file or directory: 'glove.6B.300d.txt'
Run Code Online (Sandbox Code Playgroud)
如何在上面的Google colab代码中解压缩并使用该文件?
我试图在 google colab 中解压缩 zip 文件,但收到此错误
存档:object_detection.zip 未找到中央目录结尾签名。该文件要么不是 zip 文件,要么构成多部分存档的一张磁盘。在后一种情况下,中央目录和 zip 文件注释将在此存档的最后一个磁盘上找到。unzip:无法在 object_detection.zip 或 object_detection.zip.zip 之一中找到 zipfile 目录,并且无法找到 object_detection.zip.ZIP,期间。
from google.colab import drive
drive.mount('/content/drive')
!cp '/content/drive/My Drive/slim.zip' slim.zip
!unzip object_detection.zip
Run Code Online (Sandbox Code Playgroud)
我已经在驱动器上上传了我的 zip 文件
最近开始学习python,出现了一个问题....我需要解压rar文件,该文件是受密码保护的,但是密码写在文件名中,该文件在压缩包中。如此〜300次。如何、用什么、在哪里实施?例如有一个压缩包383442389.rar,它有两个文件,pass-1337643656.data(名称包含压缩包密码)和下面的压缩包)