【发布时间】:2021-12-30 12:07:01
【问题描述】:
按照here 的说明,我正在使用 python 解压缩数百个压缩文件。
import os
import zipfile
base_dir = '/users/me/myFile' # absolute path to the data folder
extension = ".zip"
os.chdir(base_dir) # change directory from working dir to dir with files
def unpack_all_in_dir(_dir):
for item in os.listdir(_dir): # loop through items in dir
abs_path = os.path.join(_dir, item) # absolute path of dir or file
if item.endswith(extension): # check for ".zip" extension
file_name = os.path.abspath(abs_path) # get full path of file
zip_ref = zipfile.ZipFile(file_name) # create zipfile object
zip_ref.extractall(_dir) # extract file to dir
zip_ref.close() # close file
elif os.path.isdir(abs_path):
unpack_all_in_dir(abs_path) # recurse this function with inner folder
unpack_all_in_dir(base_dir)
当我手动解压一个文件时,它会得到它的原始修改日期,而当我用代码解压时,我会丢失这个 - 修改日期变成现在的日期。
知道保留原始创建日期的方法吗?
【问题讨论】:
-
请在此处添加代码示例,以及 2-3 个参考 .osm 文件供我们重新创建问题。
-
这有帮助吗?从@Expurple 所写的内容来看,这似乎对所有类型的文件都是一个挑战,不仅是 OSM
-
是的,你是对的,Expurple 共享的线程已有 5 年历史,并且在 zip 文件实现中没有任何更改。你将不得不四处乱窜。该线程具有您可以参考的有效解决方案。