J'essaie de relever certains des défis du golf de code , mais ils nécessitent tous la saisie de l'entrée stdin. Comment puis-je obtenir cela en Python?
Je veux traiter l'entrée de ligne de commande dans Ruby: > cat input.txt | myprog.rb > myprog.rb < input.txt > myprog.rb arg1 arg2 arg3 ... Quelle est la meilleure façon de procéder? En particulier, je veux traiter du STDIN vierge et j'espère une solution élégante. #!/usr/bin/env ruby STDIN.read.split("\n").each do |a| …
Si je fais ce qui suit: import subprocess from cStringIO import StringIO subprocess.Popen(['grep','f'],stdout=subprocess.PIPE,stdin=StringIO('one\ntwo\nthree\nfour\nfive\nsix\n')).communicate()[0] Je reçois: Traceback (most recent call last): File "<stdin>", line 1, in ? File "/build/toolchain/mac32/python-2.4.3/lib/python2.4/subprocess.py", line 533, in __init__ (p2cread, p2cwrite, File "/build/toolchain/mac32/python-2.4.3/lib/python2.4/subprocess.py", line 830, in _get_handles p2cread = stdin.fileno() AttributeError: 'cStringIO.StringI' object has no attribute 'fileno' …
Le script Perl ( my.pl) suivant peut lire à partir du fichier sur la ligne de commande args ou de STDIN: while (<>) { print($_); } perl my.pllira à partir de STDIN, tandis que perl my.pl a.txtlira à partir de a.txt. C'est très pratique. Vous vous demandez s'il y a …
Je suis plutôt confus avec le but de ces trois fichiers. Si ma compréhension est correcte, stdinest le fichier dans lequel un programme écrit dans ses demandes pour exécuter une tâche dans le processus, stdoutest le fichier dans lequel le noyau écrit sa sortie et le processus qui le demande …
Je cherche à traiter un fichier texte avec un nœud en utilisant un appel de ligne de commande comme: node app.js < input.txt Chaque ligne du fichier doit être traitée individuellement, mais une fois traitée, la ligne d'entrée peut être oubliée. En utilisant l'écouteur sur les données du stdin, j'obtiens …
Existe-t-il un moyen de le faire efficacement dans bash: /my/bash/script < echo 'This string will be sent to stdin.' Je suis conscient que je pourrais canaliser la sortie de l'écho comme ceci: echo 'This string will be piped to stdin.' | /my/bash/script
J'ai un script python parse.py, qui dans le script ouvre un fichier, disons file1, puis fait quelque chose, peut-être afficher le nombre total de caractères. filename = 'file1' f = open(filename, 'r') content = f.read() print filename, len(content) En ce moment, j'utilise stdout pour diriger le résultat vers mon fichier …
J'essaye de faire le contraire de " Détecter si stdin est un terminal ou un tuyau? ". J'exécute une application qui change son format de sortie car elle détecte un tube sur STDOUT, et je veux qu'elle pense qu'il s'agit d'un terminal interactif afin que j'obtienne la même sortie lors …
Quand j'exécute " python" depuis le terminal sans argument, cela fait apparaître le shell interactif Python. Lorsque j'exécute " cat | python" depuis le terminal, il ne lance pas le mode interactif. D'une manière ou d'une autre, sans obtenir aucune entrée, il a détecté qu'il est connecté à un tuyau. …
Est-il possible d'écouter les frappes entrantes dans un script nodejs en cours d'exécution? Si j'utilise process.openStdin()et écoute son 'data'événement, l'entrée est mise en mémoire tampon jusqu'à la prochaine nouvelle ligne, comme ceci: // stdin_test.js var stdin = process.openStdin(); stdin.on('data', function(chunk) { console.log("Got chunk: " + chunk); }); En exécutant ceci, …
Quelle est la manière la plus simple de lire une ligne complète dans un programme de console C Le texte saisi peut avoir une longueur variable et nous ne pouvons faire aucune hypothèse sur son contenu.
J'écris un script shell qui devrait être un peu sécurisé, c'est-à-dire qui ne transmet pas de données sécurisées via les paramètres des commandes et n'utilise de préférence pas de fichiers temporaires. Comment puis-je passer une variable au stdin d'une commande? Ou, si ce n'est pas possible, comment utiliser correctement les …
Bash permet d'utiliser: cat <(echo "$FILECONTENT") Bash permet également d'utiliser: while read i; do echo $i; done </etc/passwd pour combiner les deux précédents, cela peut être utilisé: echo $FILECONTENT | while read i; do echo $i; done Le problème avec le dernier est qu'il crée un sous-shell et après la …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.