2016-04-19 2 views
-1

Как добавить параметр приглашения в функцию ввода для python?Параметры ввода параметров python

def getUserFileNameInput(self, s): 
    FileName = input("Please enter the file name and path for " % s) 

test = t() 
test.getUserFileNameInput("my.txt") 

Моя текущая ошибка:

File "C:\Python34\try.py", line 13, in getUserFileNameInput 
FileName = input("Please enter the file name and path for " % s) 
TypeError: not all arguments converted during string formatting 

ответ

1

Вы не конкатенации строк правильно, то есть, по крайней мере, два способа сделать это:

myNewString = "Here's my old string : %s" % oldString 

или

myNewString = "Here's my old string : " + oldString 

Таким образом, в вашем примере вы должны сделать:

def getUserFileNameInput(self, s): 
    FileName = input("Please enter the file name and path for " + s) 

test = t() 
test.getUserFileNameInput("my.txt") 

или

def getUserFileNameInput(self, s): 
    FileName = input("Please enter the file name and path for %s" % s) 

test = t() 
test.getUserFileNameInput("my.txt") 
0

Вы путаете питона с Format и использование функции C Scanf и отсутствует использование конкатенации. Вы можете просто конкатенировать две строки, чтобы получить приглашение для ввода. Я не думаю, что вам нужен формат, если s уже является строкой (как вы положили вызов). Если вы хотите передать значение (например, целое число), вы всегда можете использовать string(s). Тем не менее, я считаю, что простая конкатенация будет лучше.

def getUserFileNameInput(self, s): 
    myprompt = "Please enter the file name and path for " + s 
    Filename = input(myprompt) 
    return Filename 

myentry = test.getUserFileNameInput("my.txt") 
print myentry 
Смежные вопросы