sqlite3 connect python完整路径失败,可在命令行中使用

时间:2018-10-29 15:51:54

标签: python sqlite

我有一个flask应用程序,该文件可以运行文件,直到尝试为我的sqlite3 db的位置分配完整路径。我需要一个完整的路径,以允许用户在需要时切换数据库。

我已经将数据库与.py文件放在同一位置开发了该应用程序,现在我已经移动了数据库并且找不到表。

python代码:我最初在os.path.join之前尝试过“ +”。

BasePath = "/storage/resources/dbase/dbSTR/SS1/"
...
 tfile = os.path.join(BasePath,"dbSTR.db")
    print(tfile)
    conn = sqlite3.connect(tfile)

tfile变量具有:/storage/resources/dbase/dbSTR/SS1/dbSTR.db

错误是找不到strlocmotif表。即db为空。

存储.py文件的命令行:

sqlite3 /storage/resources/dbase/dbSTR/SS1/dbSTR.db

SQLite版本3.25.2 2018-09-25 19:08:10 输入“ .help”作为使用提示。 sqlite> .tables COHORTS指令hg19 newfeat2 strlocmotif
属性重复元关系
自动增量功能newattrib strloc

2 个答案:

答案 0 :(得分:1)

最终使用+语法。我想念打字的东西。谢谢您的帮助!

答案 1 :(得分:0)

print语句的输出是什么?我认为,BasePath末尾的最后一个斜杠可能会使os.path.join()感到困惑,如果这不是预期的话。您可以尝试手动将路径串联为字符串,看看是否可行。