带有空格的python sqlite3连接路径

时间:2016-03-20 23:48:18

标签: python sqlite

我正在尝试连接完整路径,但我遇到了这个问题

>>> path = "/home/astro/Fun LAB/DBlist"
>>> db = sql.connect(path)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
sqlite3.OperationalError: unable to open database file
>>> 

我也试过这个

>>> path = "/home/astro/Fun\ LAB/DBlist"
>>> db = sql.connect(path)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
sqlite3.OperationalError: unable to open database file
>>> 

我知道这是因为空白因为我已经尝试了这个并且它有效

>>> path = "/home/astro/DBlist"
>>> db = sql.connect(path)
>>> 

所以有一种简单的方法来逃避路径中的空白或者我做错了什么?

2 个答案:

答案 0 :(得分:0)

我建议命名文件或文件夹不含空格。 (我认为它不可能)相反,使用短划线或下划线

下一个问题是看看你在哪里运行Python解释器。如果它嵌套在目录中并且您尝试从外部创建路径,那么您的链接会引发错误。

>>> path = "/home/astro/Fun LAB/DBlist"

>>> path = "/home/astro/Fun\ LAB/DBlist"

>>> path = "/home/astro/DBlist"
如果你在这些目录或其他目录中运行python,

将无法工作。

要更正此问题,请尝试

>>> path = "../home/path/to/file"

答案 1 :(得分:0)

拥有空间确实是一个问题。 我建议带一个符号链接并使用它:

!ln -sf '$path_to_db_file' .
db = sql.connect('db_file')