当前位置: 首页 > 面试题库 >

如何在Windows中执行Python脚本?

姜嘉荣
2023-03-14
问题内容

我有一个简单的脚本blah.py(使用Python 2):

import sys
print sys.argv[1]

如果我通过以下方式执行脚本:

python c:/..../blah.py argument

它输出参数,但是如果我通过以下方式执行脚本:

blah.py argument

发生错误:

IndexError ...

因此参数不会传递给脚本。

PATH中的python.exe。路径中也包含blah.py的文件夹。
python.exe是执行* .py文件的默认程序。

问题是什么?


问题答案:

执行脚本而不在前面键入“ python”时,你需要了解有关Windows如何调用程序的两件事。首先是找出Windows认为的文件类型:

  C:\> assoc .py
    .py = Python.File

接下来,你需要了解Windows如何使用该扩展名执行操作。它与文件类型“ Python.File”相关联,因此此命令显示了将要执行的操作:

    C:\> ftype Python.File
    Python.File =“ c:\ python26 \ python.exe”“%1”%*

因此,在我的机器上,当我键入“ blah.py foo”时,它将执行此确切命令,与我自己键入完整内容相比,结果没有差异:

    “ c:\ python26 \ python.exe”“ blah.py” foo

如果你键入相同的内容(包括引号),则得到的结果与键入“ blah.py foo”时的结果相同。现在,你可以自己解决其余的问题。

(或在你的问题中发布更多有用的信息,例如在控制台中看到的实际剪切和粘贴的副本。请注意,进行此类操作的人会投票给他们的问题进行投票,他们会获得声誉得分,还有更多的人可能会为他们提供良好的答案。)

来自评论:
即使assoc和ftype显示正确的信息,也有可能参数被剥离。在这种情况下可能有帮助的是直接修复Python的相关注册表项。设置

HKEY_CLASSES_ROOT\Applicathtml" target="_blank">ions\python26.exe\shell\open\command

关键:

"C:\Python26\python26.exe" "%1" %*

以前很可能%*不见了。同样,设置

 HKEY_CLASSES_ROOT\py_auto_file\shell\open\command


 类似资料:
  • 问题内容: 这个问题已经在这里有了答案 : 8年前关闭。 可能的重复: 在Windows上设置Python,不要在cmd中键入python 当我在Linux甚至从命令行的Mac OS上使用python时,我会利用shebang并直接运行一些脚本,例如:。我确实需要赋予此脚本可执行权限,仅此而已。 现在,我刚刚在Windows 7上安装了Python 3.1.2,并且希望能够从命令行执行相同的操作。

  • 问题内容: 我有一个Windows从站,安装了bash。我正在尝试在其上运行Shell脚本作为预构建步骤。关于如何执行此操作的任何想法? 问题答案: 您需要使用脚本作为参数运行bash: 您可能还需要根据环境提供完整的bash路径。

  • 问题内容: 我有一个简单的Python脚本,如果满足条件,我想停止执行。 例如: 本质上,我正在寻找一种与函数主体中的’return’关键字等效的行为,该关键字允许代码流退出该函数而不执行其余代码。 问题答案: 要退出脚本,您可以使用, 您还可以提供退出状态值,通常是整数。 以零退出,这通常被解释为成功。非零代码通常被视为错误。默认值为零退出。 打印“ aa!错误!” 并以状态代码1退出。 os模

  • 问题内容: 我能运行Linux命令状或从Java没有问题,但不能得到执行的Python脚本。 这是我的代码: 什么都没有发生。它到达了SEND,但之后就停止了… 我正在尝试执行需要root权限的脚本,因为它使用串行端口。另外,我还必须传递带有一些参数的字符串(数据包)。 问题答案: 您不能像在示例中那样在内部使用PIPE 。PIPE是shell的一部分。 你可以做 将命令放入shell脚本并使用或

  • 我有以下代码,它在while循环中不断检查当前时间,当它最终匹配定义的time\u时,就会在if语句中运行代码。 此外,欢迎提出任何改进建议。 提前感谢您!

  • 问题内容: 我正在草拟一组程序的体系结构,这些程序共享存储在数据库中的各种相互关联的对象。我希望其中一个程序充当服务,为这些对象的操作提供更高级别的接口,而其他程序则通过该服务访问对象。 我目前的目标是将Python和Django框架作为实现该服务的技术。我很确定自己知道如何守护Linux中的Python程序。但是,这是系统应支持Windows的可选规格。我几乎没有Windows编程经验,也没有W