AttributeError: у объекта 'CalledProcessError' нет атрибута 'output' - PullRequest
1 голос
/ 08 января 2012

... использование AutoKey 0.81.4 в Ubuntu 10.04

  1. относительно новый для Linux (<1 год) </li>
  2. Это первый написанный мной питон

следующий скрипт для AutoKey продолжает сбой со следующей ошибкой.Что я не получаю здесь ??

Script name: 'find files script'
Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/autokey/service.py", line 442, in execute
    exec script.code in self.scope
  File "<string>", line 13, in <module>
AttributeError: 'CalledProcessError' object has no attribute 'output'

Сценарий

import time

time.sleep(0.10)
retCode, args =  dialog.input_dialog("Files to Find","enter a file name")
fmt = "find / -name \"{0}\" -type f -print 2>/dev/null "
if retCode == 0:
    if len(args) > 0:
        cmd = fmt.format(args)
        #dialog.info_dialog(title="the command",message=cmd)
        try:
            rc = system.exec_command(cmd, getOutput=True)
        except subprocess.CalledProcessError, e:
            dialog.info_dialog(title="the return",message=str(e.output))

Ответы [ 2 ]

0 голосов
/ 16 июля 2015

Атрибут вывода не существует до Python 2.6.Вы можете использовать subprocess.Popen и общаться ().Или вы можете сделать backport subprocess.check_output (также не в 2.6) после this .

0 голосов
/ 09 января 2012

Измените e.output просто на e. Использование str (e) приведет к появлению строки ошибки. Вы можете поискать исключения, чтобы выяснить, какие атрибуты они поддерживают. Я не думаю, что вывод является одним из них.

...