Python, перенаправляя поток Popen к функции Python

Эй, вы можете сделать это с помощью таких параметров, как этот

6
задан wheisenberg 19 August 2017 в 07:31
поделиться

3 ответа

Вы не должны разделять поток/файл на строки сами. Просто выполните итерации:

for ln in f:
    # work on line in ln

Это должно работать одинаково хорошо на файлы (использующий открытый () для файла ()) и каналы (использующий Popen). Используйте stdout свойство popen возражает для доступа к каналу, подключенному к stdout подпроцесса

Пример

from subprocess import Popen, PIPE
pp = Popen('dir', shell=True, stdout=PIPE)

for ln in pp.stdout:
    print '#',ln
5
ответ дан 17 December 2019 в 02:34
поделиться

Удалите InStream и просто используйте объект файла.

Так, чтобы Ваш код читал бы:

for nextLine in f.readlines():
    .
    .
    .

Частота ошибок по битам имеет его правильный.

Для разъяснения итеративное поведение по умолчанию объекта файла состоит в том, чтобы возвратить следующую строку. так "для nextLine в f" даст Вам те же результаты как "для nextLine в f.readlines ()".

См. документацию объекта файла для деталей: http://docs.python.org/library/stdtypes.html#bltin-file-objects

1
ответ дан 17 December 2019 в 02:34
поделиться

Если вы хотите что-то сделать через ssh, почему бы не использовать модуль Python SSH ?

0
ответ дан 17 December 2019 в 02:34
поделиться
Другие вопросы по тегам:

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