python - 无法在 PyCharm 中运行子进程
问题描述
我正在尝试使用 PyCharm 中的子进程模块(安装在 Windows 10 上)运行“sed”、“pwd”等命令。但它给了我如下错误。虽然相同的代码在 VS Code 中运行良好。
import subprocess
subprocess.call('pwd')
回溯(最后一次调用):文件“C:\Users\name\something.py”,第 14 行,在 subprocess.call('pwd') 文件“C:\Users\name\Miniconda3\envs\local_test3\lib \subprocess.py",第 339 行,与 Popen(*popenargs, **kwargs) 作为 p 调用:文件 "C:\Users\name\Miniconda3\envs\local_test3\lib\subprocess.py",第 800 行,在init restore_signals, start_new_session) 文件 "C:\Users\name\Miniconda3\envs\local_test3\lib\subprocess.py",第 1207 行,在 _execute_child startupinfo) FileNotFoundError: [WinError 2] 系统找不到指定的文件
我试图通过子进程运行的任何命令都会发生这种情况。子流程导入工作正常,只是 subprocess.call() 出现问题。
请让我知道是否有任何线索。我尝试了几件事,但仍无法解决问题。谢谢。
编辑:我传递给 subprocess.call() 的任何命令都出现相同的错误。
subprocess.call("echo hello world")
解决方案
从错误中我可以看到您使用的是 Windows 机器,当我测试它时,Windows 没有过去的工作目录命令或 cmd 上的“pwd”命令,请尝试调用subprocess.call("echo hello world")
以确保一切正常
推荐阅读
- python - 正则表达式从字面上匹配缩写的字符
- c++ - 如何在 C++ 中访问类对象向量中的对象?
- r - 根据条件创建新字段并将该输出 df 附加到另一个 df General dplyr
- reactjs - React Hooks:useState 在第一次点击处理程序时不更新状态
- bash - 从 csv 读取向变量添加新行 - bash
- amazon-web-services - AWS Cloudwatch 事件规则 - 调用 Lambda - 带参数
- hibernate - 即使 fetch 调用作为惰性 Spring Boot、Hibernate 仍然存在 N+1 问题
- php - 使用 'simplexml' php 循环遍历 xml 文件图像
- reactjs - 将 nextjs 从 8 更新到 9.3.3 破坏了样式
- asp.net-core - 使用 efcore 对“真实”数据库进行单元测试