【问题标题】:Hidden .db files using Python and SQLite3使用 Python 和 SQLite3 隐藏 .db 文件
【发布时间】:2018-06-07 16:26:51
【问题描述】:

我正在为我正在创建的新网站使用 sqlite3 和 python。问题是,我尝试创建的“files_storage.db”文件不会出现在任何 Windows 10 文件夹窗口、PyCharm 的目录视图中,也不会通过命令行界面出现。 问题是,如果我多次执行我的 python 脚本,我会得到一个错误,指出数据库文件已经存在......所以这个文件在某个地方,我想这是一场猫捉老鼠的游戏。 我以前遇到过这个问题,但我总是能够通过命令行找到该文件。通常,我不会同时提出这样的问题,但是,这真的让我很恼火,当我要把这个婴儿放在服务器上时,我会遇到严重的问题。 :( 在此先感谢,这是我想的一些屏幕截图。

【问题讨论】:

  • 您使用的是相对文件路径。尝试使用绝对路径(以驱动器号开头)打开它。
  • 哇,这最初并没有在 IDE 中进行更改......但它出现在命令行中。一旦我在命令行中打印到文件夹的内容,它就会神秘地出现在 IDE 中......关于这如何改变任何东西的任何信息?相对/绝对路径不应该有太大变化。也许它与处理器缓存有关?我只是在疯狂地刺伤并做出猜测,但是,如果您有答案,我很想听听您的回答。顺便说一句,非常感谢,这非常快。
  • 顺便说一句,如果您想给出一个正式的答案,以便我将您标记为最佳答案,那就太好了,这样我们就可以帮助其他正在搜索 google/stack overflow 的人。
  • 谢谢,我的回答稍微详细一点。
  • 以后请不要把post code当成图片。很难阅读。

标签: python sqlite


【解决方案1】:

您使用的是相对文件路径。

相对路径通过os.path.join(os.getcwd(), <relative path>) 之类的方式转换为绝对路径。所以它们依赖于进程的当前工作目录。

尝试使用绝对路径(以驱动器号开头)打开它,以避免任何歧义。

【讨论】:

    【解决方案2】:

    如果您只使用没有路径的文件名,则该文件将保存在 Python 解释器的当前工作目录中。

    要查看当前工作目录的位置,请将以下代码添加到程序的开头:

    import os
    print(os.getcwd())
    

    然后您应该会在输出中看到工作目录。

    在您的 IDE 中某处有一个当前工作目录的设置。参见例如this question的答案。

    【讨论】:

      【解决方案3】:

      你也可以这样做:

      import os
      
      path = os.path.expanduser("~") + '/Documents'
      print(path)
      

      这将允许您访问当前用户的目录。对我来说,这会打印:

      '/Users/thomasweeks/Documents'
      

      【讨论】:

        猜你喜欢
        • 2022-11-09
        • 2018-10-18
        • 1970-01-01
        • 2021-06-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多