Tengo un fondo C++/Obj-C y estoy descubriendo Python (lo he estado escribiendo durante aproximadamente una hora). Estoy escribiendo un script para leer recursivamente el contenido de los archivos de texto en una estructura de carpetas.Carpeta recursiva de Python lea
El problema que tengo es que el código que he escrito solo funcionará para una carpeta de profundidad. Puedo ver por qué en el código (ver #hardcoded path
), simplemente no sé cómo puedo avanzar con Python ya que mi experiencia con este es solo nueva.
Código Python:
import os
import sys
rootdir = sys.argv[1]
for root, subFolders, files in os.walk(rootdir):
for folder in subFolders:
outfileName = rootdir + "/" + folder + "/py-outfile.txt" # hardcoded path
folderOut = open(outfileName, 'w')
print "outfileName is " + outfileName
for file in files:
filePath = rootdir + '/' + file
f = open(filePath, 'r')
toWrite = f.read()
print "Writing '" + toWrite + "' to" + filePath
folderOut.write(toWrite)
f.close()
folderOut.close()
Excelente, muchas impresiones para entender lo que está pasando y funciona perfectamente. ¡Gracias! +1 –
Dirige a cualquiera tan tonto/inconsciente como yo ... este ejemplo de código escribe un archivo txt en cada directorio. Me alegro de que lo haya probado en una carpeta con la versión controlada, aunque todo lo que necesito para escribir una secuencia de comandos de limpieza está aquí también :) – Steazy