python 2.4.3,无法使用check_output

时间:2017-02-24 17:12:18

标签: python subprocess

我是一名Java&正在学习Python的C程序员。我正在编写一个需要发出Linux命令然后捕获输出的Python程序。 (输出应该是python可以存储在字符串中的一行...我希望。)我在一台旧机器上运行Python 2.4.3,据我所知, check_output 电话应该做我需要的。

麻烦的是,python没有识别 check_output 。这是我的原型代码:

#!/usr/bin/python

import sys
print "Current Python Version::  ", (sys.version)

import subprocess
from subprocess import check_output    # <<<<<<<< error here!

output = subprocess.check_output(['ls', '-1', '|', 'grep', 'somefile.txt'])
print 'Have %d bytes in output' % len(output)
print output

输出是:

[Linux]$ python myCode.py
Current Python Version::   2.4.3 (#1, Apr 14 2011, 20:41:59)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)]
Traceback (most recent call last):
  File "myCode.py", line 7, in ?
    from subprocess import check_output
ImportError: cannot import name check_output
[Linux]$

我使用以下网站作为文档指南;事实上,我的代码的最后三行或多或少都是直接从这个网站上复制过的例子:

https://pymotw.com/2/subprocess/#capturing-output

文档说 check_output 在Python 2.4及更高版本中有效,所以我应该没问题。然而我的Python解释器并不理解 check_output

那么...该怎么做?看起来我的版本没问题,Python可以访问子流程但不能 check_output 。我是否需要要求管理员安装库或其他东西?或者我没有正确导入呼叫?

另外:我有点假设 check_output 是我想在这里从我的Linux命令中捕获单行输出的调用。那似乎没问题吗?

谢谢!

0 个答案:

没有答案