2017-02-13 3 views
0

Я не уверен, как сформулировать вопрос, и я не нахожу ничего в поиске.Использование переменной в строке Python

У меня есть переменная, и я хочу передать ее в f.open() как имя файла для открытия. Цель состоит в том, чтобы ввести имя файла в foo, затем оно очистит файлы.

foo = str(raw_input('enter a filename ')) 
bar = foo 
f = open('foo', 'w') 
f.write("") 
f.close() 

Я попытался с помощью открытого (Foo «ш») и заменить его «бар», но и не похоже на работу. Какие-либо предложения?

+0

Что значит «не работает»? Что именно происходит? Он должен работать – Wolfram

+0

Кроме того, 'str' не нужно, когда вы получаете' raw_input' – Wolfram

+0

Замените 'foo' на foo – Versatile

ответ

1

f = open(bar, 'w')

Просто передайте имя переменной (без кавычек, конечно).

Кроме того, вам не нужна линия bar = foo. Вы уже сохраняете имя файла как foo с первой строкой.

Так что ... если вы удалите bar = foo это будет f = open(foo, 'w')

+0

Не знаю, как я пропустил это. Должно быть, делал это неправильно, когда я пытался раньше. Спасибо :) – Nameless477

2

Удалите '' из 'foo':

f = open('foo', 'w') 

Как это:

f = open(foo, 'w') 

'foo' является символьная строка и foo это имя переменной, в которой содержится имя файла, введенного пользователем.

+0

Это тоже работает :) – Nameless477

Смежные вопросы