Как мне добавить себя в файл sudoers?

Ваш текущий метод означает, что происходят две вещи:

  • Вы видите результат подпроцесса

    , у процессов может быть несколько выходов, вот два, которые могут произойти:

    • STDOUT - информация из выполняемой программы
    • STDERR - информация об ошибках предупреждений, с которыми столкнулась программа. Вероятно, это то, что вас раздражает.

    Использование опций в подпроцессе должно означать, что вы можете направить выходные данные в / dev / null (т.е. они не будут отображаться в выходных данных):

     DEVNULL = open (os.devnull, 'wb') 
    subprocess.call (['leafpad', filename + '.tsv'], stdout = DEVNULL, stderr = DEVNULL) 
     

    Это версия для python 2.4+, бит, определяющий DEVNULL , может не понадобиться в 3.3+

    Обратите внимание, что даже если вы удалите скрытие всего вывода, он все равно будет ждать процесса, поэтому ....

  • и ожидает завершения процессов перед продолжением

    Если вы хотите, чтобы процесс продолжался в фоновом режиме, вы можете использовать это:

     subprocess.Popen (['leafpad', filename + '.tsv ']) 
     

    Popen не ждет завершения процесса, поэтому он продолжит работу в фоновом режиме (в отличие от call ) - для получения дополнительной информации см. здесь .

Объединение этих «исправлений» должно дать вам:

DEVNULL = open(os.devnull, 'wb')
subprocess.Popen(['leafpad', filename + '.tsv'], stdout=DEVNULL, stderr=DEVNULL)

Снова для python 2.4+

Дополнительную информацию можно найти в документации здесь .

Я любитель Python, чья версия листовой панели не выдает ошибок, поэтому, если что-то не работает, скажите:)

0
28.12.2017, 23:19
0 ответов

Теги

Похожие вопросы