Infatti, come cuciture che Python non può vedere che il nome del file quando lo stdin viene reindirizzato dalla console, si dispone di un'alternativa:
zero Chiamate programma come questo:
python3 ritwc.py -i your_file.txt
e quindi aggiungere il seguente codice per reindirizzare stdin dall'interno di pitone, in modo da avere accesso al nome del file attraverso il "filename_in" variabile:
import sys
flag=0
for arg in sys.argv:
if flag:
filename_in = arg
break
if arg=="-i":
flag=1
sys.stdin = open(filename_in, 'r')
#the rest of your code...
Se ora si utilizza il co mm e:
print(sys.stdin.name)
si ottiene il nome del file; tuttavia, quando si esegue lo stesso comando di stampa dopo aver reindirizzato lo stdin dalla console, si ottiene il risultato: <stdin>
, che deve essere una prova che Python non può vedere il nome file in quel modo.
fonte
2013-03-07 01:06:09
Ciao nneonneo, sai perché il mio Ubuntu ha effettivamente percorso '/ proc/self/fd/0' ma quando faccio' ./test.py
8090PZ