Voglio collegare l'output di ps -ef
a python riga per riga.Come reindirizzare l'input a Python riga per riga dal programma linux?
Lo script che sto usando è questo (first.py) -
#! /usr/bin/python
import sys
for line in sys.argv:
print line
Purtroppo, la "linea" viene diviso in parole separate da spazi bianchi. Così, per esempio, se faccio
echo "days go by and still" | xargs first.py
l'output che ottengo è
./first.py
days
go
by
and
still
come scrivere lo script in modo tale che l'uscita è
./first.py
days go by and still
?
Grazie per questa risposta. Avrei potuto contrassegnarlo come la risposta corretta, ma anche l'altra risposta era corretta ed è stata pubblicata per prima. – CodeBlue
Giusto per chiarire: il tuo obiettivo è quello di leggere l'output standard di una riga del programma per linea con il tuo programma Python. Si sta utilizzando la riga di comando, si propone di utilizzare una pipe per trasferire l'output standard dal primo programma al secondo programma (che ha senso). E poi, invece di limitarsi a leggere dallo standard input nel tuo programma Python, preferisci includere un terzo programma nello stack che esegue una conversione magica dallo stdin agli argomenti della linea di comando ed eventualmente chiama il tuo programma Python più volte e frammenta l'input (fai sapere come funziona 'xargs'?)? –
No, non so come funzionano gli xarg. – CodeBlue