【问题标题】:How to execute command prompt and get the output from it?如何执行命令提示符并从中获取输出?
【发布时间】:2014-06-25 06:10:38
【问题描述】:

我是 Python 的新手,我想编写一个 Python 程序,它可以在 cmd 中执行一些命令并自动从中获取输出。

有可能吗?我该怎么做?

【问题讨论】:

  • 你的意思是从命令行以交互方式获取输入吗?
  • 这个问题对我来说似乎有点模糊。您想通过 cmdline 传递参数以获得结果吗?还是只是编译代码“python blah.py”?
  • 我解释这个是为了让 op 想从命令行调用一些东西。像一个子进程。
  • 哦,我的意思是输入文本到 cmd 并从中获取结果
  • 这可能会有所帮助:docs.python.org/2/library/subprocess.html 但我不确定你在问什么,所以也许不是。

标签: python cmd


【解决方案1】:

你会想要使用subprocess.Popen:

>>> import subprocess
>>> r = subprocess.Popen(['ls', '-l']) #List files on a linux system. Equivalent of dir on windows.
>>> output, errs = r.communicate()
>>> print(output)
Total 72
# My file list here

Popen-constructor 接受参数列表作为第一个参数。该列表以命令开头(在本例中为ls),其余值是命令的开关和其他参数。上面的例子在终端(或命令行,或控制台)上写成ls -l。一个相当于windows的

>>> r = subprocess.Popen(['dir', '/A'])

【讨论】:

    【解决方案2】:

    你的意思是如何从 cmd 执行一些命令 使用

    import os
    

    os.system(一个字符串);

    【讨论】:

    • 请避免os.system()。它已被弃用,官方的方法是使用子进程。它在函数的文档中说明了这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    • 2020-03-25
    • 2019-11-29
    • 1970-01-01
    相关资源
    最近更新 更多