gpt4 book ai didi

python - 将 zipfile 提取代码从 ruby​​ 转换为 python

转载 作者:数据小太阳 更新时间:2023-10-29 08:03:09 27 4
gpt4 key购买 nike

我正在将代码从 ruby​​ 转换为 python,以提取 zip 文件的内容。

我是 python 新手,不确定如何准确转换以下代码。

ruby 代码:

def extract_from_zipfile(inzipfile)

txtfile=""
Zip::File.open(inzipfile) { |zipfile|
zipfile.each { |file|
txtfile=file.name
zipfile.extract(file,file.name) { true }
}
}

return txtfile
end

这是我的python代码:

def extract_from_zipfile(inzipfile):

txtfile=""
with zipfile.ZipFile(inzipfile,"r") as z:
z.extractall(txtfile)
return txtfile

它返回无值。

最佳答案

在 ruby​​ 版本中,txtfile 将引用最后提取的文件。

在 Python 中,您可以使用 zipfile.ZipFile.namelist 获取文件列表:

def extract_from_zipfile(inzipfile):
txtfile = ""
with zipfile.ZipFile(inzipfile, "r") as z:
z.extractall(txtfile)
names = z.namelist() # <---
if names: # <--- To prevent IndexError for empty zip file.
txtfile = names[-1] # <---
return txtfile

关于python - 将 zipfile 提取代码从 ruby​​ 转换为 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36124997/

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