我正在尝试将网页内容下载到文本文件,并对 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/