我试着从" A Byte of Python "这本书中做一些备份程序,遇到了一个错误" No such file or directory "
我试图改变很多不同的路径到我的电脑上的文件和文件夹,也试图改变一些语法块(如/,,//,,等)我是编码新手,我觉得我已经尽力了我在osx上编写代码,下面是书中的代码:
import os
import time
# 1. Файлы и каталоги, которые необходимо скопировать, собираются в список.
source = ['"C:\My Documents"', 'C:\Code']
# Заметьте, что для имён, содержащих пробелы, необходимо использовать
# двойные кавычки внутри строки.
# 2. Резервные копии должны храниться в основном каталоге резерва.
target_dir = 'E:\Backup' # Подставьте тот путь, который вы будете использовать.
# 3. Файлы помещаются в zip-архив.
# 4. Именем для zip-архива служит текущая дата и время.
target = target_dir + os.sep + time.strftime('%Y%m%d%H%M%S') + '.zip'
# 5. Используем команду "zip" для помещения файлов в zip-архив
zip_command = "zip -qr {0} {1}".format(target, ' '.join(source))
# Запускаем создание резервной копии
if os.system(zip_command) == 0:
print('Резервная копия успешно создана в', target)
else:
print('Создание резервной копии НЕ УДАЛОСЬ')
这是我的两个不成功的版本:
import os
import time
#1. Файлы и каталоги, которые нужно скопировать собираются в список
source = ['/Users/yaroslav_skripnik/notes']
#2. Резервные копии должны храниться в основном каталоге резерва
target_dir = '/Users/yaroslav_skripnik/backup'
#3. Файлы помещаются в zip-архив
#4. Именем для zip-архива служит текущая дата и время
target = target_dir + os.sep + time.strftime('%Y%m%d%H%M%S') + '.zip'
#5. Используем команду "zip" для помещения файлов в zip-архив
zip_command = "zip-qr{0}{1}".format(target,''.join(source))
print('zip command is', zip_command)
#запускаем создание резервной копии
if os.system(zip_command) == 0:
print('SUCCES', target)
else:
print("NOPE")
import os
import time
this_dir = os.path.dirname(os.path.abspath(__file__))
file = os.path.join(this_dir, 'file_name')
target_dir = '\Users\yaroslav_skripnik\backup'
target = target_dir + os.sep + time.strftime('%Y%m%d%H%M%S') + '.zip'
zip_command = "zip-qr{0}{1}".format(target, '\Users\yaroslav_skripnik\Desktop')
print('что с тобой не так!!!n', zip_command )
if os.system(zip_command) == 0:
print('SUCCES', target)
else:
print('NOPEn', zip_command)
- zip_command 有一个空格问题
- 可能是因为
target_dir
在文件系统中不存在。所以我添加了一个os.makedirs
,它将创建目录,如果它还不存在。
import os
import time
source = ['/Users/yaroslav_skripnik/notes']
target_dir = '/Users/yaroslav_skripnik/backup'
os.makedirs(target_dir, exist_ok = True)
target = target_dir + os.sep + time.strftime('%Y%m%d%H%M%S') + '.zip'
zip_command = "zip -qr {0} {1}".format(target, ' '.join(source))
if os.system(zip_command) == 0:
print("SUCCESS", target)
else:
print("NOPE")