python複製 解壓zip保留原修改時間

2021-09-07 05:10:49 字數 1668 閱讀 8099

情景:在使用python複製檔案或者解壓zip檔案時,檔案的修改時間總是被搞成了當前的執行時間,這樣有時會讓人挺蛋疼的。

import zipfile

# 發布函式

defdeploy()

:# 發布單號

order_code = sys.argv[1]

# 解壓到當前目錄,要包含根目錄

deploy_file_zip = os.path.join(source_path, order_code+

".zip"

) f = zipfile.zipfile(deploy_file_zip,

'r')

#for file in f.namelist():

# f.extract(file,source_path)

# 獲取解壓後根目錄)[

0][:

-1]# 保留原修改時間

forfile

in f.infolist():

# 先獲取原檔案的時間

d =file

.date_time

gettime =

"%s/%s/%s %s:%s"

%(d[0]

, d[1]

, d[2]

, d[3]

, d[4]

)# 先解壓檔案

f.extract(

file

, source_path)

# 獲取解壓後檔案的絕對路徑

filep = os.path.join(source_path,

file

.filename)

timearry = time.mktime(time.strptime(gettime,

'%y/%m/%d %h:%m'))

# 設定解壓後的修改時間(這裡把修改時間與訪問時間設為一樣了,windows系統)

os.utime(filep,

(timearry, timearry)).

....

....

.

import os

import shutil

from stat import st_atime, st_ctime, st_mtime

# 合包kcbp_risk

defmerge_krisk

(souce, dst):.

....

for root, dirs, files in os.walk(update_version_root_krisk)

:for f in files:

# 原檔案

update_file = os.path.join(root, f)

# 複製檔案,如果存在就會覆蓋,dst_file為複製後檔案

shutil.copy(update_file, dst_file)

# 關鍵步驟:保留修改時間,st_mtime:修改時間,st_ctime:檔案訪問時間,windows下

file_stat = os.stat(update_file)

os.utime(dst_file,

(file_stat[st_ctime]

, file_stat[st_mtime]

))

python 解壓zip檔案

import os import zipfile import time defunzipfile file dir,file name,filelist param file dir 絕對路徑 param file name 解壓檔名 param filelist 返回解壓後的所有檔名 retur...

python解壓zip指令碼

自己並不會python,但是 網上下了乙個 new 遊戲合集,需要批量解壓zip檔案,並提取nes檔案出來。然後磕磕碰碰的按照api寫的指令碼.僅供個人使用。coding utf 8 import zipfile import os import shutil files os.listdir tm...

Python壓縮解壓zip檔案

import os import shutil import zipfile from os.path import join,getsize一 python壓縮指定資料夾def zip file src dir zip name src dir zip z zipfile.zipfile zip ...