【发布时间】:2019-07-13 17:56:01
【问题描述】:
我尝试通过 Python 的 os.system() 函数运行批处理命令 (ssh ...)。需要注意的是,当我直接从cmd运行时,该命令被识别;但是,通过 Python subprocess 调用同样失败。
这是我正在使用的代码:
import os
os.system("ssh ...")
为什么在通过 Python 的子进程调用运行时,ssh 命令(是可识别的可执行文件)无法识别?
【问题讨论】:
-
python 可能需要
ssh的完整路径 -
@furas 好吧,这个东西适用于其他命令(如
node),以与帖子中所示相同的方式完成。ssh的路径(显然)在环境变量值中提供 -
ssh不是批处理命令,而是普通程序c:\....\ssh.exe。系统使用变量PATH和应在其中搜索此程序的文件夹列表。 -
你可以比较系统中的
PATH和Python中的os.getenv('PATH')。也许有区别 -
那么它应该在系统范围内
PATH,所以我不知道出了什么问题。
标签: windows command-line batch-file python