【问题标题】:How to execute sql Python script in Windows command Prompt?如何在 Windows 命令提示符中执行 sql Python 脚本?
【发布时间】:2014-06-02 11:41:00
【问题描述】:

我有一个在 Python 中使用 sqlite3 的简单脚本。

但是,当我在 Windows 中从 cmd.exe 运行它时,我得到一个“打开方式”窗口。如果我单击“取消”,它会显示“访问被拒绝”。在 cmd.exe 中。

import sqlite3
connection = sqlite3.connect("test_database.db")
c = connection.cursor()
c.execute("CREATE TABLE People(FirstName TEXT, LastName TEXT, Age INT)")
c.execute("INSERT INTO People VALUES('Ron','Obvious',42)")
connection.commit()
connection.close()

我可以从 cmd.exe 很好地运行 Python 脚本。我只是有这个问题,因为我使用的是 sqlite?

(另外,我在 PATH 中有 sqlite 路径)

我怎样才能阻止这个“打开方式”窗口出现,并真正让我的脚本从 cmd.exe 正确运行?

【问题讨论】:

  • 你的错误信息与Python无关;我怀疑这与sqlite 有什么关系。 不要使用绝对路径,不要依赖当前的工作目录,这会因脚本的运行方式而有很大差异。
  • 你是如何尝试执行它的?似乎您基本上是在尝试“运行”您的系统不知道如何处理的文件(即询问您)。应该可以使用python C:\yourscript.py
  • @nerdwaller 谢谢,这实际上解决了它......我通常只运行“.py”并且通常可以工作。但是如果我使用 sqlite 似乎会中断:-s

标签: python sql sqlite python-2.7


【解决方案1】:

如果我使用 import sqlite,在 cmd 中运行 myscript.py 将不起作用。相反,我运行了“python myscript.py”并且脚本运行良好。

感谢@nerdwaller。

【讨论】:

    【解决方案2】:

    在 Windows 中,要执行需要解释器的脚本,您可以手动运行解释器:

    C:\> python myscript.py
    

    或确保.py 文件与python.exe 相关联(如果您得到“打开方式”窗口,很可能这没有完成),然后使用start 运行脚本,这相当于双击:

    C:\> start /b/wait myscript.py
    

    或更改PATHEXT 环境变量以允许直接执行具有该扩展名的文件(其行为与上述start 命令相同):

    C:\> set pathext=%pathext%;.py
    C:\> myscript
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多