Как поместить строку из функции в качестве аргумента для sqlite3.connect () в Python - PullRequest
1 голос
/ 30 декабря 2011

У меня есть виджет меню параметров:

optionTuple = ("filename1", "filename2", "filename3")

имя_файла1, имя_файла2, имя_файла3 также являются именами файлов в каталоге


, затем у меня есть кнопка, которая, среди прочего, получает выбранное значение параметра:

def btnConvertClick(self):
    filename = '"'+ optionMenuWidget.cget('text')+'"'


, затем я пытаюсь открыть [sqlite3] файл базы данных [имя файла1 или имя файла2 или имя файла3] в соответствии с выбранным параметром

selected_file = filename
db = sqlite3.connect(selected_file)

, но я получаю ошибку:

<class 'sqlite3.OperationalError'>: unable to open database file

У меня нет проблем с:

db = sqlite3.connect("filename1")

Можно ли поместить строку из функции [как выше] в качестве аргумента имени файла?

1 Ответ

2 голосов
/ 30 декабря 2011

Попробуйте установить имя файла без кавычек:

filename = optionMenuWidget.cget
...