Выходить пробелы в псевдониме в Python? - PullRequest
1 голос
/ 21 августа 2011

Здесь файл существует:

~/Library/Application Support/Something/something.sqldb

Это моя команда доступа к файлу:

connect('~/Library/Application\ Support/Something/something.sqldb')

Команда не работает, так как файл, что-то.sqldbне может быть найден.Есть идеи как это исправить?

Спасибо за помощь!

Ответы [ 3 ]

3 голосов
/ 21 августа 2011

Проблема не в пространстве, а в тильде.Python не является оболочкой и не раскрывает специальные символы в строках.Есть функции, которые могут это сделать.os.path.expanduser и os.path.expandvars могут расширить тильды и $VAR части строки.

2 голосов
/ 21 августа 2011

Попробуйте:

connect('/home/YOURNAME/Library/Application Support/Something/something.sqldb')

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

0 голосов
/ 21 августа 2011

Если вы используете одинарные кавычки, вы не выйдете из пробела, если будете использовать обратную косую черту. Используйте двойные кавычки

connect("~/Library/Application\ Support/Something/something.sqldb")

Если вы используете Python, вы можете использовать expanduser перед тем, как вставить строку в ваш connect оператор

connect ( os.path.expanduser("~/........") )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...