Я новичок, проходящий через байт python (3.0). Это первый язык программирования, который я когда-либо использовал. Я застрял в точке, где вы создаете простую программу, которая создает резервный zip-файл (стр.75). Я запускаю Windows 7 (64 бит) с помощью python 3.1. До этого я установил GNUWin32 + источники и добавил C: \ Program Files (x86) \ GnuWin32 \ bin в переменную enviornmental. Это программа:Новичок нуждается в помощи с Python Tutorial
#!C:\Python31\mystuff
# Filename : my_backup_v1.py
import os
import time
# backing up a couple small files that I made
source = [r'C:\AB\a', r'C:\AB\b']
#my back up directory
target_dir = 'C:\\Backup'
#name of back up file
target = target_dir + os.sep + time.strftime('%Y%m%d%H%M%S') + '.zip'
zip_command = "zip -qr {0} {1}".format(target,' '.join(source))
print(zip_command)
if os.system(zip_command) == 0:
print('Successful backup to', target)
else:
print('Backup failed!')
print('source files are', source)
print('target directory is', target_dir)
print('target is', target)
Выход:
zip -qr C:\Backup\20100106143030.zip C:\AB\a C:\AB\b
Backup failed!
source files are ['C:\\AB\\a', 'C:\\AB\\b']
target directory is C:\Backup
target is C:\Backup\20100106143030.zip
Учебное пособие включает в себя небольшой совет немного по устранению неисправностей: скопируйте и вставьте zip_command в строке оболочки Python, чтобы увидеть, если это по крайней мере работает:
>>> zip -qr C:\Backup\20100106143030.zip C:\AB\a C:\AB\b
SyntaxError: invalid syntax (<pyshell#17>, line 1)
Так как это не сработало, в учебнике говорится, что для получения дополнительной справки прочтите руководство GNUWin32. Я просмотрел его и еще не видел ничего, что поможет мне. Для того, чтобы увидеть, если функция зип работает я сделал помощь (ZIP) и получил следующее:
>>> help(zip)
Help on class zip in module builtins:
class zip(object)
| zip(iter1 [,iter2 [...]]) --> zip object
|
| Return a zip object whose .__next__() method returns a tuple where
| the i-th element comes from the i-th iterable argument. The .__next__()
| method continues until the shortest iterable in the argument sequence
| is exhausted and then it raises StopIteration.
|
| Methods defined here:
|
| __getattribute__(...)
| x.__getattribute__('name') <==> x.name
|
| __iter__(...)
| x.__iter__() <==> iter(x)
|
| __next__(...)
| x.__next__() <==> next(x)
|
| ----------------------------------------------------------------------
| Data and other attributes defined here:
|
| __new__ = <built-in method __new__ of type object at 0x1E1B8D80>
| T.__new__(S, ...) -> a new object with type S, a subtype of T
Unfortuneatly Я не могу понять «помощь» еще. Однако я немного поиграл с функцией zip, чтобы увидеть, как это работает.
>>> zip (r'C:AB\a')
<zip object at 0x029CE8C8>
Таким образом, кажется, что функция zip работает, но я думаю, что я не использую ее правильно. Пожалуйста, помогите мне, и имейте в виду, что у меня еще не было большого опыта программирования. Если вы хотите просмотреть учебник, вы можете найти его на сайте www.swaroopch.com/notes/Python.
Похоже, что вы должны были сделать 'почтовый -qr C: \ Backup \ 20100106143030.zip C: \ АВ \ С: \ AB \ b' в приглашении терминала, а не в приглашении python. Это помогает? –