Tengo un script de python parse.py, que en el script abre un archivo, dice file1 y luego hace algo, tal vez imprima el número total de caracteres.
filename = 'file1'
f = open(filename, 'r')
content = f.read()
print filename, len(content)
En este momento, estoy usando stdout para dirigir el resultado a mi archivo de salida - salida
python parse.py >> output
Sin embargo, no quiero hacer este archivo por archivo manualmente, ¿hay alguna manera de cuidar cada archivo automáticamente? Me gusta
ls | awk '{print}' | python parse.py >> output
Entonces el problema es ¿cómo podría leer el nombre del archivo de standardin? o ya hay algunas funciones integradas para hacer ls y ese tipo de trabajo fácilmente?
¡Gracias!
with ... as ...:
declaraciones. ¿Podrías aclarar?Permission Error: [Errno 13] Permission denied:
deberías intentar usar os.walk
fuente
Estaba buscando esta respuesta:
también puede elegir '* .txt' u otros extremos de su nombre de archivo
fuente
En realidad, solo puede usar el módulo os para hacer ambas cosas:
Aquí hay un ejemplo simple:
Ahora no solo ha enumerado todos los archivos en una carpeta, sino que también los ha ordenado (opcionalmente) por nombre de inicio, tipo de archivo y otros. Recién itera sobre cada lista y haz tus cosas.
fuente
fuente
El siguiente código lee los archivos de texto disponibles en el directorio que contiene el script que estamos ejecutando. Luego abre todos los archivos de texto y almacena las palabras de la línea de texto en una lista. Después de almacenar las palabras, imprimimos cada palabra línea por línea
fuente