Я написал скрипт Python, который я использую в Automator для сжатия файлов. проблема в том, что когда я сжимаю их весь каталог (имеется в виду все папки) + файлы сжимаются, а не только файлы сами по себе. Поэтому, если бы я запустил это на своем рабочем столе с двумя файлами, такими как args, test1 и test2, на выходе было бы «Currentdate & time.zip» и когда я его извлеку. это будет выглядеть так / Users / Dean / Desktop / Test1
/ Users / декан / настольные / test2
, поэтому он архивирует все эти папки, когда все, что я хочу, это файлы. пожалуйста помогите
этот код работает лучше при запуске из терминала, но не в automator (мой комментарий ниже), я использую этот код в качестве службы в automator. так что один файл работает нормально. несколько файлов не кстати 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)