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

标签 python python-2.7 subprocess

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

$ 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

谢谢!

最佳答案

尝试将 call(cmd) 更改为 call(cmd, shell=True)

关于python - 使用子进程处理多个管道命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42343815/

相关文章:

python - Pymunk Pygame 对象位置不更新

string - 百分比 diff b/t 两个不同长度的字符串

Python 子进程 (ffmpeg) 仅在我按 Ctrl-C 程序时启动?

python - 子进程 Popen 和 call 有什么区别(我该如何使用它们)?

python - 使用子进程运行命令/程序

Python - 使用 lxml Xpath 功能保留一些 HTML 标签

python:模拟模块

python - 如何获取 n 维嵌套列表中元素的索引

python - Flask:如何使用 Flask-Redis 和 Redis 进行身份验证

python - 是否可以将范围作为变量 "var = k:k+number"