Экранирование пробелов в псевдониме в Python?

Вопрос: Здесь находится файл: ~/Library/Application Support/Something/something.sqldb Это моя команда для доступа к файлу: connect('~/Library/Application Support/Something/something.sqldb') Команда не работает, потому что файл, something.sqldb, не может быть найден. Любые идеи о том, как это исправить? Спасибо за помощь! Лучший ответ: Если вы используете одиночные кавычки, вы не сможете избежать пробела, если используете обратную косую черту. Использовать двойные

Вопрос:

Здесь находится файл:

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

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

connect(‘~/Library/Application Support/Something/something.sqldb’)

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

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

Лучший ответ:

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

connect(«~/Library/Application Support/Something/something.sqldb»)

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

connect ( os.path.expanduser(«~/……..») ) Ответ №1

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

Ответ №2

Попробуй это:

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

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

Оцените статью
Добавить комментарий