En Perl se utiliza:¿Cuál es el equivalente de Perl (<>) en Python? fileinput no funciona como se esperaba
while (<>) {
# process files given as command line arguments
}
En Python que encontré:
import fileinput
for line in fileinput.input():
process(line)
Pero, ¿qué ocurre cuando el archivo dado en la línea de comandos que no existe?
python test.py test1.txt test2.txt filenotexist1.txt filenotexist2.txt test3.txt
como argumento.
Probé varias formas de usar try: except: nextfile
, pero no pude hacer que funcione.
Para la línea de comandos anterior, la secuencia de comandos debe ejecutarse para test1-3.txt
, pero simplemente vaya al siguiente archivo en silencio cuando NO se encuentre el archivo.
Perl lo hace muy bien. He buscado esto en toda la red, pero no pude encontrar la respuesta a este en ninguna parte.
No sé antes de publicar este paquete. Parece muy útil. – VGE
"pero simplemente ve al siguiente archivo en silencio cuando el archivo NO se encuentra."? De Verdad? ¿Por qué? Si el archivo no existe, ¿por qué no debería romperse todo? –
@ S.Lott: piensa en las utilidades de línea de comandos de unix como grep.Funcionan con argumentos válidos, pero solo dan advertencias en archivos inexistentes, y las advertencias no provocan que el comando completo aborte, aunque hace que el comando salga con un estado de error. Dicho esto, Perl no es "silencioso" en archivos inexistentes, también da advertencias. – runrig