python - Ruby 系统调用不观察 python 脚本的路径

标签 python ruby windows cmd system

这个有效:

system "python \"C:/Program Files (x86)/Google/google_appengine/someScript.py\"

这行不通:

system "python \"someScript.py\"

包含 someScript.py 的目录已添加到我的 Windows PATH 变量中,因此如果我打开 CMD 窗口并键入:

someScript.py

运行良好。

我该怎么做才能让我的 ruby​​ 脚本能够在观察 Windows 环境路径变量的同时调用 someScript.py,这样我就不必为 python 脚本指定绝对路径?

最佳答案

Python 使用$PATH 环境变量。

您始终必须在命令行中指定 python 脚本的完整路径。这可以是当前目录的相对路径或绝对路径。

扩展名为 .py 的文件与 Python 可执行文件之间的关联是 separate registration ,其中 Windows 在脚本文件位于当前搜索路径后执行 Python 可执行文件。 Windows 在调用它时将脚本的完整绝对路径传递给 Python 可执行文件。当您直接使用 system 执行 Python 可执行文件时,您会绕过该查找。

可以尝试使用 system "someScript.py" 直接执行 Python 脚本 没有 python可执行文件,但我对 Ruby 和 Windows 不够熟悉,不知道这是否会支持 Windows 命令提示符使用的 .py 扩展注册。

关于python - Ruby 系统调用不观察 python 脚本的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13237600/

相关文章:

python - 如何在 numpy 结构化数组自定义类型上使用 isinstance()

python - 在 Python 中从字符串创建字典

python - sklearn DecisionTreeClassifier 真的可以处理分类数据吗?

ruby - 安全地将 `sum` 方法添加到 Array 类

ruby-on-rails - 在 RoR 中对 UTF-8 字符串进行排序

c - 内核写入进程内存导致蓝屏

c# - SystemMediaTransportControls 在 mytoolkit 中以不同模式错误初始化

python - 无法从 'secure_filename' 导入名称 'werkzeug'

ruby - 在 ruby​​ 中读取 Excelx 中的时间值

android - 关于从头开始构建程序的问题