функция pymssql connect - PullRequest
       1

функция pymssql connect

0 голосов
/ 09 марта 2010

у меня есть эта функция pymssql.connect (host = "my host", user = "my user", password = "my pass", database = "mydb")

Я хочу прочитать имя пользователя и пароль и указать их там, чтобы возможные или именованные аргументы lvalue не должны быть переменными, и если да, то как я могу это сделать?

т.е. можно ли вызвать эту функцию как: pymssql, подключение (хост = Название переменной, ...)

Ответы [ 2 ]

3 голосов
/ 09 марта 2010

Ваш вопрос сформулирован ... странно. У вас проблемы с установкой аргументов по умолчанию в определении функции?

>>> def f(arg1="hello", arg2="goodbye"):
    print "arg1 is", arg1
    print "arg2 is", arg2


>>> f()
arg1 is hello
arg2 is goodbye
>>> f(arg2="two")
arg1 is hello
arg2 is two
>>> f(1,2)
arg1 is 1
arg2 is 2
>>> f(arg2="foo", arg1="bar")
arg1 is bar
arg2 is foo

Если это не то, что вы искали, хотите ли вы запросить у пользователя пропущенный аргумент?

>>> def g(arg=None):
    if arg is None:
        arg = raw_input("What is the argument?")
    print "The argument was", arg


>>> g(123)
The argument was 123
>>> g()
What is the argument? foo bar
The argument was  foo bar

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

0 голосов
/ 09 марта 2010

Для чтения ввода от пользователя вы можете использовать raw_input.
Чтобы использовать аргументы командной строки программы, вам нужно import sys и использовать sys.argv

например:

import sys
myvar = raw_input("please input a var") #prompts the user for a value
myvar2 = sys.argv[1] #gets the first argument to the program

затем вы можете использовать именованные аргументы, такие как

myfun(named=myvar, named2=myvar2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...