python - 有没有办法更改在 Python 中使用 zipfile 提取的文件的名称?
问题描述
我正在尝试从 zip 文件夹中提取 csv 文件并选择其名称,因为它保存在新目录中。此代码可以很好地提取文件:
import zipfile
with zipfile.ZipFile(f'C:\\Users\\user\\Downloads\\{nombre_solar_zip}', 'r') as zip_ref:
zip_ref.extractall('C:\\Users\\user\\\\work')
但是 zip 文件夹中的文件名不断变化,所以我想更改名称以便阅读。有没有办法做到这一点?
解决方案
您可以使用 迭代成员,ZipFile.infolist
然后使用 . 打开每个成员、读取和写入您选择的文件ZipFile.open
。
总之,它会是这样的:
import zipfile
with zipfile.ZipFile("/path/to/my-file.zip") as zip
for member in zip.infolist():
with zip.open(member, "r") as infile, open("new-file-name", "wb") as outfile:
while True:
data = infile.read(chunk_size)
if not data:
break
outfile.write(data)
推荐阅读
- html - 没有子表的 `th` 元素的直接表`th` 元素的 CSS 选择器 - 是可能的
- ssl - 允许本地服务器通过 https 使用 websocket
- postgresql - Postgres GROUP BY 一个数组列
- pandas - 关于“列”的“值”的数据透视表总和
- python - _tkinter.TclError:无法调用“框架”命令:应用程序已被销毁
- tizen - genlist的水平滚动
- java - 如何交换字符串数组中的值?
- android - 如何在 Kotlin 中获取执行输出?
- regex - 正则表达式忽略以特定模式结尾的字符串
- javascript - 在 Service Worker 中使用 performance.now() 获取 API 响应时间