当前位置: 首页 > 面试题库 >

如何在python中获取终端输出?

赖运珧
2023-03-14
问题内容

我可以使用执行终端命令,os.system()但是我想捕获该命令的输出。我怎样才能做到这一点?


问题答案:

import subprocess
>>> cmd = [ ‘echo’, ‘arg1’, ‘arg2’ ]
>>> output = subprocess.Popen( cmd, stdout=subprocess.PIPE ).communicate()[0]
>>> print output
arg1 arg2


>>>

使用subprocess.PIPE时存在错误。对于巨大的输出,请使用以下命令:

import subprocess
import tempfile

with tempfile.TemporaryFile() as tempf:
    proc = subprocess.Popen(['echo', 'a', 'b'], stdout=tempf)
    proc.wait()
    tempf.seek(0)
    print tempf.read()


 类似资料:
  • 问题内容: 是否有与perl相当的python蟒蛇 可用python吗? 我知道解决方案; 我想要的是我应该能够为所有打印消息设置颜色,例如, 这里的“ function_print_something”是我的python函数,它将一些格式化的日志消息打印到屏幕上。 问题答案: 请问Python的termcolor模块呢?对于某些用途,这将是大致等效的。 一个特殊的要求是设置颜色,并可能设置其他终

  • 问题内容: 如何使用Golang获得tty大小?我正在尝试通过执行命令来执行此操作,但是我无法正确编写代码。 输出: 我认为这是因为Go产生了一个与当前tty无关的进程,该进程正在使用该进程。如何将命令与当前终端相关联以获取其大小? 问题答案: 如果您给子进程授予对父进程的访问权限,则它可以工作: 产量:

  • 问题内容: 我对如何从ssh等终端子进程发送输入和接收输出有疑问。 我在Golang中找不到一个简单的示例,其工作原理与上述类似。 在Golang中,我想做这样的事情,但是似乎不起作用: 然而; 我不确定如何执行此操作,因为每次执行此ssh命令时,我只能获取输出。我无法通过代码自动输入密码。有没有人写过ssh等终端进程的示例?如果是这样,请分享。 问题答案: 由于上面的评论,我可以使用密码使用ss

  • 问题内容: 我一直在寻找一种从C程序中获取终端宽度的方法。我不断提出的思路是: 但是每次我尝试得到 这是执行此操作的最佳方法,还是有更好的方法?如果没有,我该如何工作? 编辑:固定代码是 问题答案: 您是否考虑过使用getenv()?它使您可以获取包含端子列和行的系统环境变量。 或者,使用您的方法,如果您想查看内核显示的终端大小(最好是在调整终端大小时),则需要使用TIOCGWINSZ而不是TIO

  • 问题内容: 我在终端中使用以下代码运行一些命令: 然后,我想知道运行此命令的结果是什么,例如,如果运行 我想阅读有关回购中更改的实际信息。有什么办法可以迅速做到这一点? 问题答案: 是用于将另一个程序作为子进程运行的类。您可以捕获程序的输出,错误输出,退出状态等等。 扩展我对xcode 6 swiftsystem()命令的回答,这是一个简单的实用函数,用于同步运行命令,并返回输出,错误输出和退出代

  • 问题内容: 我想在pyspark中使用matplotlib.bblpath或shapely.geometry库。 当我尝试导入其中任何一个时,出现以下错误: 我知道该模块不存在,但是如何将这些软件包带到我的pyspark库中? 问题答案: 在Spark上下文中,尝试使用: ,引用文档: 为将来要在此SparkContext上执行的所有任务添加.py或.zip依赖项。传递的路径可以是本地文件,HDF