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

Windows在subprocess.call()上找不到文件

潘修文
2023-03-14
问题内容

我收到以下错误:

WindowsError: [Error 2] The system cannot find the file specified

我的代码是:

subprocess.call(["<<executable file found in PATH>>"])

Windows 7,64位。Python 3.x最新,稳定。

有任何想法吗?

谢谢,


问题答案:

当命令是内置的shell时,请在调用中添加“ shell = True”。

例如,dir您将输入:

import subprocess
subprocess.call('dir', shell=True)

引用文档:

在Windows上唯一需要指定shell = True的时间是将要执行的命令内置到shell中(例如dir或copy)。您不需要shell =
True即可运行批处理文件或基于控制台的可执行文件。



 类似资料:
  • 我已经安装了PostgreSQL。我想我需要在windows上安装libpq-dev来解决这个问题,但是如何安装呢? 命令pythonsetup.pyegg_info的完整输出:运行egg_info创建pip-eg-info\psycopg2_binary.egg-info写入pip-eg-info\psycopg2_binary.egg-info\PKG-INFO写入dependency_lin

  • 问题内容: 在安装了32位python 2.7的64位系统中,我尝试执行以下操作: 但这给了我: 如果我在航站楼里做… …它当然会打印当前的文件夹内容。 我试图将shell参数更改为shell = False。 编辑:实际上,我不能使用调用路径上的任何可执行文件。该语句在另一台机器上运行良好,我认为这是相关的。 如果我做 然后我得到 如果我做: 然后我得到 以上所有操作均在以管理员模式启动的终端中

  • 在运行命令之后,我尝试运行命令,然后运行命令 ` 有人帮忙吗?

  • 问题内容: 我目前正在Windows上学习nodejs。通过npm.cmd在全局安装了几个模块,nodejs无法找到已安装的模块。以玉为例 Jade安装在目录中,但以下代码将失败并显示错误, 但是,在本地安装jade时,代码将成功运行(npm中没有- g选项)。我不想使用本地安装的模块,这对我来说是浪费磁盘空间。如何使全局安装的模块在Windows上工作? 问题答案: 添加一个名为的环境变量,并将

  • 我想在我的apk上签名释放。在日食中,我可以去文件- 在Android Studio中,我读到你必须在设置gradle脚本后执行“gradle assembleRelease”命令。 我就是不知道在哪里运行这个命令?Windows控制台不能识别它,“where gradle”也是空的,我只能找到一个不能在控制台中执行的gradle.jar文件。 我只想在我的apk上签名。

  • 我在WSL中使用Ubuntu环境中的python编写了一个脚本。 我在Windows中下载了Firebase的私钥“ServiceAccountKey.json”,然后将其移动到我在WSL中的工作目录中。(使用'mv mnt/c/users/yiu/downloads/serviceaccountkey.json~/projects/scrape')。现在,我正试图将该文件传递给Certifica