我可以使用执行终端命令,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