W rzeczywistości, jak szwy, że pyton nie widać tego pliku, gdy stdin jest przekierowany z konsoli, masz alternatywę:
zadzwonić do programu tak:
python3 ritwc.py -i your_file.txt
a następnie dodać następujący kod przekierować stdin od wewnątrz python, dzięki czemu masz dostęp do pliku za pomocą zmiennej „filename_in”:
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...
Jeśli teraz użyć CO mmi:
print(sys.stdin.name)
otrzymasz nazwę pliku; jednak, gdy zrobisz to samo polecenie drukowania po przekierowaniu stdin z konsoli, uzyskasz wynik: <stdin>
, co będzie dowodem, że python nie widzi nazwy pliku w ten sposób.
Cześć nneonneo, czy wiesz, dlaczego mój ubuntu rzeczywiście ma ścieżkę '/ proc/self/fd/0' ale kiedy robię' ./test.py
8090PZ