Estoy escribiendo un script para limpiar mi escritorio, moviendo archivos según el tipo de archivo. El primer paso, al parecer, es ls -1 /Users/user/Desktop
(estoy en Mac OSX). Entonces, usando Python, ¿cómo ejecutaría un comando y luego escribiría el resultado en un archivo en un directorio específico? Como esto no estará documentado, y seré el único usuario, no me importa (¿prefiero?) Si usa os.system()
.escribiendo salida de línea de comando en el archivo
Respuesta
Puede redirigir la salida estándar a cualquier archivo usando >
en el comando.
$ ls /Users/user/Desktop > out.txt
usando Python,
os.system('ls /Users/user/Desktop > out.txt')
Sin embargo, si está utilizando Python entonces en lugar de utilizar ls
de comandos que puede utilizar os.listdir
para listar todos los archivos en el directorio.
path = '/Users/user/Desktop'
files = os.listdir(path)
print files
Después rozando la documentación de Python para ejecutar comandos shell y obtener la salida se puede utilizar el módulo de subprocess con el método check_output
.
Después de eso, puede escribir fácilmente esa salida en un archivo con las funciones estándar de Python IO: File IO in python.
Para abrir un archivo, puede usar el comando f = open(/Path/To/File)
. La sintaxis es f = open('/Path/To/File', 'type')
donde 'tipo' es r para leer, w para escribir y a para anexar. Los comandos para hacer esto son f.read()
y f.write('content_to_write')
. Para obtener el resultado de un comando de línea de comando, debe usar popen y subproceso en lugar de os.system()
. os.system() no devuelve un valor. Puede leer más en popen here.
- 1. Escribiendo un contenedor de línea de comando portátil en C
- 2. El comando de DOS redirecciona al archivo trunca la salida
- 3. línea de comando imprimir nombres de archivo al archivo de salida
- 4. Redirección de salida con el comando "pantalla"
- 5. Prueba de salida a la línea de comando con RSpec
- 6. Escribiendo registros en el archivo
- 7. Escribiendo en el archivo (Prolog)
- 8. Cómo analizar la salida de línea de comando de C#?
- 9. Ejecutar línea de comandos y devolver la salida del comando
- 10. ¿Cómo se procesa la salida de un comando en el shell línea por línea?
- 11. Kohana 3 Buffer de salida de línea de comando?
- 12. Redirigir la salida a un argumento de línea de comando de otro comando en Windows
- 13. Error de salida/registro de advertencia (archivo txt) al ejecutar el script R en la línea de comando
- 14. Bash: patrón grep de salida de comando
- 15. ¿Cómo agregar una línea vacía en un archivo de texto usando la línea de comando?
- 16. windbg: Salida de comando al archivo de texto
- 17. (java) Escribiendo en el archivo little endian
- 18. Editar archivo ipa plist en la línea de comando
- 19. ¿Cómo obtengo el código de salida de la aplicación desde una línea de comando de Windows?
- 20. Línea de comando de Python 'secuencia de entrada de archivo'
- 21. Argumentos de línea de comando en python.
- 22. Transferir archivo usando MSTSC en la línea de comando
- 23. Ejecutar el comando de línea de comando interactivo usando C#
- 24. Escribiendo JSONObject en un archivo
- 25. Python no está escribiendo cadena completa en el archivo
- 26. Salida de Ruby en la misma línea que la salida anterior
- 27. leer el interruptor de línea de comando
- 28. comando unix para leer la línea de un archivo pasando el número de línea
- 29. extrayendo la primera línea del archivo usando el comando awk
- 30. Ejecutar archivo jar con argumentos de línea de comando
¿Qué archivos desea mover? Eche un vistazo a http://docs.python.org/library/shutil.html para operaciones de archivos usando Python. –
La secuencia de comandos Shell es suficiente para este –
Si utiliza scripts de shell, lea más acerca de pipes y la redirección. –