gpt4 book ai didi

Python,解压缩 .jar 文件,不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 01:33:38 25 4
gpt4 key购买 nike

因此,我尝试使用以下代码解压缩 .jar 文件:它不会解压缩,只有 20/500 个文件,没有文件夹/图片当我在文件名中输入 .zip 文件时,也会发生同样的事情。有人有什么建议吗?

import zipfile
zfilename = "PhotoVieuwer.jar"
if zipfile.is_zipfile(zfilename):
print "%s is a valid zip file" % zfilename
else:
print "%s is not a valid zip file" % zfilename
print '-'*40

zfile = zipfile.ZipFile( zfilename, "r" )

zfile.printdir()
print '-'*40

for info in zfile.infolist():
fname = info.filename

data = zfile.read(fname)


if fname.endswith(".txt"):
print "These are the contents of %s:" % fname
print data


filename = fname
fout = open(filename, "w")
fout.write(data)
fout.close()
print "New file created --> %s" % filename
print '-'*40

但是,它不起作用,它可能解压缩 500 个文件中的 10 个谁能帮我解决这个问题?

已经谢谢了!

我尝试添加 Python 告诉我的内容,我得到了这个:哎呀!无法提交您的修改,因为:

正文限制为30000 个字符;你输入了153562只有错误是:

Traceback (most recent call last):
File "C:\Python27\uc\TeStINGGFDSqAEZ.py", line 26, in <module>
fout = open(filename, "w")
IOError: [Errno 2] No such file or directory: 'net/minecraft/client/ClientBrandRetriever.class'

解压后的文件:

amw.Class
amx.Class
amz.Class
ana.Class
ane.Class
anf.Class
ang.Class
ank.Class
anm.Class
ann.Class
ano.Class
anq.Class
anr.Class
anx.Class
any.Class
anz.Class
aob.Class
aoc.Class
aod.Class
aoe.Class

最佳答案

此回溯告诉您需要了解的内容:

Traceback (most recent call last):
File "C:\Python27\uc\TeStINGGFDSqAEZ.py", line 26, in <module>
fout = open(filename, "w")
IOError: [Errno 2] No such file or directory: 'net/minecraft/client/ClientBrandRetriever.class'

错误消息表明文件 ClientBrandRetriever.class 不存在或目录 net/minecraft/client 不存在。当打开文件进行写入时,Python 会创建它,因此文件不存在不会成为问题。肯定是目录不存在的情况。

认为这是可行的

>>> open('temp.txt', 'w') 
<open file 'temp.txt', mode 'w' at 0x015FF0D0>

但这并没有,给出了与你得到的几乎相同的回溯:

>>> open('bogus/temp.txt', 'w')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 2] No such file or directory: 'bogus/temp.txt'

创建目录修复它:

>>> os.makedirs('bogus')
>>> open('bogus/temp.txt', 'w')
<open file 'bogus/temp.txt', mode 'w' at 0x01625D30>

在打开文件之前,您应该检查目录是否存在并在必要时创建它。

所以为了解决你的问题,替换这个

fout = open(filename, 'w')

有了这个

head, tail = os.path.split(filename) # isolate directory name
if not os.path.exists(head): # see if it exists
os.makedirs(head) # if not, create it
fout = open(filename, 'w')

关于Python,解压缩 .jar 文件,不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11850574/

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