私はファイルを圧縮するために私がautomatorで使うpythonスクリプトを書いています。問題は、私がディレクトリ全体(すべてのフォルダを意味する)+ファイルを圧縮するときに、ファイルが単なるファイルではなく圧縮されていることです。だから私はargs、test1とtest2の出力として "Currentdate & time.zip"と私はそれを抽出するときに2つのファイルと私のデスクトップ上でこれを実行した場合。これは/ users/dean/desktop/test1のようになります。 /Users/dean/desktop/test2Pythonは単独のファイルではなくディレクトリ全体を圧縮します
このようにすると、すべてのフォルダが圧縮されます。助けてください
このコードは、ターミナルから実行されたが、オートメーターでは実行されませんでした(以下の私のコメント)。このコードをオートメーションのサービスとして使用します。 1つのファイルが正常に動作します。複数のファイルは、あなたのループのため、これに代えて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