fork download
  1. #!/usr/bin/env python3
  2. import sys
  3. import os
  4. import time
  5. import tarfile
  6.  
  7. # 1. Файлы и каталоги, которые необходимо скопировать, собираются в список.
  8. source = []
  9. source.extend(sys.argv[1:])
  10.  
  11. # 2. Резервные копии должны храниться в основном каталоге резерва
  12. target_dir = '/home/user/media/Python'
  13.  
  14. # 3. Файлы помещаются в zip-архив
  15. # 4. Именем для zip-архива служит текущая дата и время.
  16. today = target_dir + os.sep + time.strftime('%Y%m%d')
  17. # Текущее время служит именем zip-архива
  18. now = time.strftime('%H%M%S')
  19.  
  20. # Запрос комментария пользователя для имени файла
  21. comment = input('Введите комментарий: ')
  22. if len(comment) == 0:
  23. target = today + os.sep + now
  24. else:
  25. target = today + os.sep + now + '_' + \
  26. comment.replace(' ', '_')
  27.  
  28. # Создаем каталог, если его еще нет
  29. if not os.path.exists(today):
  30. os.mkdir(today) # создание каталога
  31. print('Каталог {} успешно создан.'.format(today))
  32.  
  33. def make_tarfile(output_filename, source_dir):
  34. with tarfile.open(output_filename, "w:gz") as tar:
  35. for i in source_dir:
  36. tar.add(source_dir[i], arcname=os.path.basename(source_dir[i]))
  37.  
  38. make_tarfile(target, source)
Runtime error #stdin #stdout #stderr 0.03s 45152KB
stdin
Standard input is empty
stdout
Введите комментарий: 
stderr
Traceback (most recent call last):
  File "<builtin>/app_main.py", line 75, in run_toplevel
  File "prog.py", line 21, in <module>
    comment = input('Введите комментарий: ')
EOFError