Именование файлов, Python - PullRequest
1 голос
/ 08 марта 2012

То, что я пытаюсь сделать в Python, - это создать программу, в которой вы можете писать в файл прямо из командной строки.У меня есть весь код, чтобы сделать это, но единственный соответствующий код ниже.

aw = input("Do you want to append your text file, or rewrite the whole thing? (append/write) ")
if aw == 'append':
    textin = input("In the line below, write the text you want to put into your text document!\n\n")
    outfile = open('mytext.txt', 'a')
    outfile.write(textin)

Я пытаюсь сделать так, чтобы люди могли выбирать имя файла, но когда я выполняю функцию ввода, name = input("Choose your filename, don't include an extension: ") и меняю строку 4 на outfile = open(name, 'txt', 'a'), я получаю синтаксическую ошибку!

1 Ответ

2 голосов
/ 08 марта 2012

Попробуйте вместо этого: outfile = open(name + '.txt', 'a')

Python не может объединять подобные строки, поэтому open(name, 'txt', 'a') рассматривал как вызов функции с тремя аргументами. К сожалению, функция open занимает только два.

Редактировать: Если это код Python 2.x, то вы также неправильно используете функцию input. Согласно документации функция ввода требует от пользователя ввода действительного кода Python , вы ищете raw_input функцию .

Если это код Python 3.x, то правильная функция - input и мои извинения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...