Je suis relativement à python et j'essaye d'écrire un script python auquel on peut diriger la sortie d'une commande ou d'un autre script. Dans le script python, j'analyserai essentiellement la sortie de la commande et l'enregistrerai dans le fichier.Pipe d'une commande ou d'un script vers un autre script python
Je pensais que je serais capable de le faire en redirigeant sys.stdin vers subprocess.PIPE, mais cela n'a pas fonctionné.
sys.stdin = subprocess.PIPE
Quelqu'un peut-il suggérer comment devrais-je aborder cela?
Également ce qui se passerait si la commande ou le script canalise les données plus rapidement que le script python peut traiter.
Note: Lorsque j'utilise ce script
import sys
data = sys.stdin.readline()
print(data)
Je reçois ce
D:\>echo "test" | tee.py
The process tried to write to a nonexistent pipe.
Traceback (most recent call last):
File "D:\Profiles\Administrator\My Documents\Workspace\tee.py", line 3, in <mo
dule>
data = sys.stdin.readline()
AttributeError: 'NoneType' object has no attribute 'readline'
et quand j'utilise cette
import sys
data = input()
print(data)
Je reçois ce
D:\>echo "test" | tee.py
The process tried to write to a nonexistent pipe.
Traceback (most recent call last):
File "D:\Profiles\Administrator\My Documents\Workspace\tee.py", line 3, in <mo
dule>
data = input()
RuntimeError: input(): lost sys.stdin
Dans votre édition, il semble que vous ayez fait quelque chose de stupide avec 'sys.stdin'. Essayez 'sys .__ stdin__'. – katrielalex
Pouvez-vous élaborer s'il vous plaît? – nik