2016-01-08 4 views
0

Мне нужно объявить переменную в Python таким образом, но она не работает.Объявление переменной внутри другой переменной

name = raw_input('Enter Name: ') 

var1 = /dir_1/dir_2/% (name) 

print (var1) 

Ожидаемый результат: - ::/dir_1/dir_2/my custom entered name.

+0

Добро пожаловать в SO! Какая конкретная ошибка вы получаете? Что означает «это не работает»? – J0e3gan

ответ

1

Используйте это:

name =raw_input('Enter Name: ') 
var1 = "/dir_1/dir_2/%s" %(name) 
print (var1) 
1

Вы можете сцепить строки

name =raw_input('Enter Name: ') 

var1 = '/dir_1/dir_2/' + name 

print (var1) 
+0

Вы, ребята, действительно потрясающие ... Спасибо за тренировку :) –

1

Вы можете сцепить строки, используя +

>>> 'foo' + 'bar' 
'foobar' 

или вы можете использовать printf стиль

>>> 'foo%s' %('bar') 
'foobar' 

Я предлагаю конкатенацию.

name = raw_input('Enter Name: ') 

var1 = '/dir_1/dir_2/' + name 

print (var1) 
0

Поскольку это имя файла, то имеет смысл присоединиться к ним с помощью os.path модуля. Это гарантирует, что текущий формат файла используется, когда программа запускается на разных ОС. В частности, функция использования является os.path.join

import os 

name = raw_input('Enter Name: ') 
var1 = os.path.normpath(os.path.join("/dir_1/dir_2", name)) 
print (var1) 

На окнах, вы получите что-то вроде:

\\dir_1\\dir_2\\name.txt 

В системах на базе Linux или Unix, это будет возвращать

/dir_1/dir_2/fname.txt 

Вы не могли бы вам нужно это для вашего дела, но всегда приятно знать это, когда вам нужен код, который должен быть переносимым.

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