Я изучаю Python, используя Learn Python The Hard Way. Это очень хорошо и эффективно, но в какой-то момент у меня случился сбой. Я искал в Интернете, но не нашел ответа. Вот мой вопрос:
Одно из упражнений говорит об этом:
from sys import argv
script, filename = argv
и затем он продолжает делать то, что я понимаю:
print "we are going to erase %r." % filename
print "if you don't want that, hit CTRL-C (^C)."
print "if you do want that, hit RETURN."
raw_input("?")
print "opening the file..."
target = open(filename, 'w')
Что означает первая часть?
PS Ошибка, которую я получаю:
syntaxError Неожиданный символ после символа продолжения строки
script, filename = argv
Это распаковывает последовательность argv
. Первый элемент переходит в script
, а второй - в filename
. В общем, это можно сделать с любым итерабельным, если в левой части столько же переменных, сколько и элементов в итерабельной стороне справа.
Код, который вы показываете, выглядит нормально, я не знаю, почему вы получаете там синтаксическую ошибку.
Код работает нормально, поместите код в пример в файл codefile.py и передайте ему файл dummydata:
$ python codefile.py dummydatafile.txt
We're going to erase 'test1.txt'.
If you don't want that, hit CTRL-C (^C).
If you do want that, hit RETURN.
?
Opening the file...
Truncating the file. Goodbye!
Now I'm going to ask you for three lines.
line 1:
line 2:
line 3:
I'm going to write these to the file.
And finally, we close it.
$
Это должно решить вашу проблему
Unexpected character after line continuation character
означает, что вы разделили команду в двух строках с использованием символа продолжения \
(см. Этот вопрос), но после этого добавили некоторые символы (например, пробел).
Но я не вижу никаких \
в вашем коде...