2017-02-20 3 views
1

Я пытаюсь загрузить содержимое веб-страницы в текстовый файл, и хэш URL для создания уникальных имен файлов .. Что-то вроде:Использование подпроцесса для обработки нескольких команд Piped

$ 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

Попробуйте изменить вызов (УМК) для вызова (CMD, оболочки = True)

+0

я сделал, и она работала, но должен был назвать это как этот >>> subprocess.call (CMD, оболочки = True) de8b64952e61cc4c6a38df2d17bb8e0d - У вас есть идеи, откуда пришел ноль? Огромное спасибо! –

+0

Возможно, это ваш код выхода. Если вы хотите записать вывод вместо кода выхода, вы можете использовать subprocess.check_output() –

Смежные вопросы