我一直在嘗試將多個python模塊添加到zip文件中。但是,由於新添加的模塊替換了之前的模塊,因此我不成功,並且我不瞭解這種關係。 command_utils添加一個util文件,下一個command_utils2添加另一個模塊,之後整個第一個模塊不見了。基本上我想在將zip文件從源代碼中取出之後,將我的模塊中的2個添加到zip文件中。這是我的代碼。如何將多個文件夾添加到一個zip文件(將folder1,folder2添加到包含幾個文件的myzip.zip filr)
import shutil
import os
import subprocess
zip_name = os.getcwd().split("/")[-1]
project_dir = '/tmp/'
shutil.make_archive(zip_name, "zip", project_dir+"test/")
os.chdir('/tmp/')
command_utils = 'zip -r '+project_dir+'test/'+zip_name+'platformutils'
print os.getcwd()
command_utils2 = 'zip -r '+project_dir+'test/'+zip_name+' pytz'
command_delete_archive = 'zip -d '+project_dir+'test/'+zip_name+'.zip '+zip_name+'.zip'
# command_update_function = 'aws lambda update-function-code --function-name
'+zip_name+' --zip-file fileb://'+project_dir+zip_name+'/'+zip_name+'.zip'
# print command_utils
print command_utils2
print command_delete_archive
# print command_update_function
try:
# c_u = subprocess.Popen(command_utils, shell=True, stdout=subprocess.PIPE)
c_u2 = subprocess.Popen(command_utils2, shell=True, stdout=subprocess.PIPE)
c_d_a = subprocess.Popen(command_delete_archive, shell=True, stdout=subprocess.PIPE)
# p = subprocess.Popen(commands
except subprocess.CalledProcessError as e:
raise e
可能的[如何創建目錄的zip存檔]的副本(https://stackoverflow.com/questions/1855095/how-to-create-a-zip-archive-of-a-directory ) –
paco H.不,我已經看到了這個問題。我正在爲已經存在的zip文件添加幾個文件夾。我想將folder1和folder2添加到一個zip文件myZip.zip,該文件早先已經壓縮了很少的文件。我基本上想要實時添加文件夾到這個zip文件。 – ZZzzZZzz
那麼也許這個? https://stackoverflow.com/questions/34270582/adding-file-to-existing-zipfile –