【问题标题】:cmd console run in backgroundcmd控制台在后台运行
【发布时间】:2021-11-27 01:00:00
【问题描述】:

好的,所以我正在努力让 cmd 提示运行代码,而用户不会注意到很可能会创建一个提示列表来确定运行哪个命令。到目前为止,我最接近的是使用subprocess,据我所知这是行不通的。所以我能够让子进程做的是允许在没有 cmd 控制台的情况下编写命令,但是,它只是使用 python 控制台。

我的目标是让用户单击按钮,根据收集到的信息将运行代码,即没有互联网通过“ping ::1”

import subprocess
subprocess.run('cmd', shell=True)

在 python 控制台中,您可以输入任何命令。

【问题讨论】:

  • 你能立即图标化 shell 或者只是让窗口尽可能小,以免打扰用户吗?
  • 你试过subprocess.run("ping ::1", shell=True)吗?
  • @tdelaney 我没有;子流程是向我提出的一个新概念,我没有意识到我可以以这种方式使用它。你帮了大忙!
  • @RicardoErrckert 这绝对是一个选项,但似乎我可以在不使用 cmd 的情况下运行命令。而是在 subprocess.run 参数中运行它。正如 tdelaney 和 JeanLColombo 提到的那样

标签: python shell command


【解决方案1】:

subprocess.run 已经执行了一个终端命令。您无需调用 cmd。而且,它不会弹出屏幕。

为了更好地理解,试试这个:

import subprocess
subprocess.run('echo "Hello World!"', shell=True)

它输出:

"Hello World!"
CompletedProcess(args='echo "Hello World!"', returncode=0)

它还具有捕获输出的选项,但对于您想要做的事情,这可能会做。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-08
  • 2015-01-16
相关资源
最近更新 更多