Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 6, 2019 14:47:54

SergeyChmutov
Зарегистрирован: 2017-08-04
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача файла в cli утилиту

Добрый день, форумчане.
Пишу простенькую cli утилиту. И вот задался вопросом, как передать в нее файл, через пайп. Я этот момент не понимаю.
Сейчас передаю, как опцию

 @click.command()
@click.option('-f', '--file', nargs=1, type=click.UNPROCESSED, default=False)
def main(line, word, count, std, file):
     параметр1
По идеи можно файл через пайп передать: cat \etc\hosts | имя_утилиты
А как в коде это описать?

Отредактировано SergeyChmutov (Фев. 6, 2019 14:48:04)

Офлайн

#2 Фев. 6, 2019 19:13:20

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Передача файла в cli утилиту

то о чем вы говорите это делается банально просто, вот вам минимальный пример

$ /tmp $ cat test.txt 
aBcD1!
$ /tmp $ cat test.py
import sys

d = []
while True:
s = sys.stdin.read(4096)
if s == '':
break
d.append(s)
print(''.join(d))
$ /tmp $ cat test.txt | python3 test.py
aBcD1!



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Фев. 7, 2019 11:34:06

SergeyChmutov
Зарегистрирован: 2017-08-04
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Передача файла в cli утилиту

JOHN_16
то о чем вы говорите это делается банально просто, вот вам минимальный пример
Большое спасибо.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version