echo q1werty | sed "s/1/2/g"
т. е. передать выход одной программы на вход другой
моя не удачная попытка сделать это
import sys try: print(f"{sys.argv[1]}\n" * 5) except Exception as err: print(f"err {err}")
echo q1werty | sed "s/1/2/g"
import sys try: print(f"{sys.argv[1]}\n" * 5) except Exception as err: print(f"err {err}")
for line in sys.stdin: print(line.rstrip('\n'))
<countlines.py>
import sys
data = sys.stdin.readlines()
print ("Counted", len(data), "lines.")
$ cat countlines.py | python countlines.py
Counted 3 lines.
AD0DE412Конвеер реализуется командной оболочкой. Если у вас нет дополнительных требований то ей и надо пользоваться.
Подскажите как сделать конвертер в Python программе типа такого:
import subprocess as sp sp.run('echo q1werty | sed "s/1/2/g"',shell=True)
>>> import subprocess >>> >>> cmd = subprocess.run( ... """echo x | tr x X""", ... shell=True, ... stdout=subprocess.PIPE) >>> >>> cmd CompletedProcess(args='echo x | tr x X', returncode=0, stdout=b'X\n') >>> cmd.stdout b'X\n' >>>
import sys if len(sys.argv[1:]): print(f"{sys.argv[1:]}" * 5) else: data = sys.stdin.readlines() print(f"{data}" * 5))