使用子进程处理多个管道命令

时间:2017-02-20 11:50:46

标签: python python-2.7 subprocess

我正在尝试将网页内容下载到文本文件中,并对网址进行哈希处理以生成唯一的文件名。例如:

$ echo -n "http://www.hussam.us" | md5sum
de8b64952e61cc4c6a38df2d17bb8e0d  -

下载网页内容不是我的问题;它通过散列生成文件名。我在python终端中尝试此代码,但它生成此错误,就好像模块未导入或安装,但实际上是。简单的命令,如" ls"工作得很好。

>>> import subprocess    
>>> cmd = 'echo -n "http://www.hussam.us" | md5sum'
>>> call(cmd)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/subprocess.py", line 523, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.7/subprocess.py", line 711, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1343, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试更改呼叫(cmd)以呼叫(cmd,shell = True)