我已經寫了一個python腳本,我使用automator來壓縮文件。問題是,當我壓縮他們整個目錄(意思是所有的文件夾)+文件被壓縮,而不僅僅是文件本身。所以,如果我在桌面上運行這兩個文件作爲參數,測試1和測試2輸出將是「當前日期& time.zip」,當我提取它。它會看起來像這樣/ Users/dean/desktop/test1 /Users/dean/desktop/test2Python壓縮整個目錄而不是唯一的文件
因此,當所有我想要的文件都是壓縮所有這些文件夾。請幫助
此代碼從終端運行時運行greate,但不在automator(我的評論如下)我使用此代碼作爲automator中的服務。所以一個文件工作正常。多個文件不BTW LEN(sys.argv中)> 3確實應該LEN(sys.argv中)> 1
OSX_username = getpass.getuser()
now = datetime.datetime.today()
dir = os.getcwd()
zip_dir = dir + "/" + now.strftime("%Y-%m-%d %H:%M") + '.zip'
dst_dir = "/Users/" + OSX_username + "/Desktop"
zf = zipfile.ZipFile(now.strftime("%Y-%m-%d %H:%M") + '.zip', mode='w')
if len(sys.argv) > 3: #app 2 service 3
for f in sys.argv[1:]:
try:
zf.write(f)
finally:
print ''
zf.close()
src = zip_dir
last_part = os.path.basename(src)
shutil.move(src, dst_dir)
你可以添加一個示例用法嗎?從檢查你的代碼,我會猜想這是解析參數的問題,但我可能是完全錯誤的... – mac