【发布时间】:2020-04-02 16:21:33
【问题描述】:
我快要发疯了。
从 python 脚本启动时,我无法运行 telnet。我正在新安装的 Windows 10 上运行。
当我运行这个脚本时:
import subprocess
cmdline = "telnet 172.19.52.34"
rc = subprocess.call("start cmd /K " + cmdline, shell=True)
我得到了可怕的错误。 CMD 保持打开状态,我在 C:\Windows\System32 中找不到 telnet 命令。
但是当我打开一个普通的 CMD 时,telnet 从 C:\Windows\System32 工作。手动查看 C:\Windows\System32\ 会显示 telnet 可执行文件。
当我在 python 启动的 CMD 中测试 PATH 环境变量时,C:\Windows\System32\ 就在那里。
非常感谢任何指向解决方案的指针。
请再次将理智带入我的世界。 ;-)
亲切的问候。
/伯恩哈德
【问题讨论】:
-
您已经查看了路径变量等,但是当您手动使用命令行时,您可以实际运行您的 python 代码试图运行的命令吗?
start cmd /K telnet? -
也有可能
start实际上不是一个命令,而是一个命令行直接支持的函数。你可以只运行subprocess.call("telnet", shell=True)吗? -
Start是 cmd 的命令。Start用于以不寻常的方式启动程序。尝试以正常方式启动 telnet。输入start /?。 -
如果我从 Windows Run: "cmd /K telnet 172.19.52.34" 运行它,它工作正常。
-
Telnet 从我的脚本中只是不“可见”。我从没想过这是可能的。