renombrar - nombre archivo python
Cómo cambiar el nombre de un archivo usando Python (9)
Quiero cambiar a.txt
a b.kml
.
A partir de Python 3.4 uno puede usar el módulo pathlib para resolver esto.
Si usted está en una versión anterior, puede usar la versión backported que se encuentra here
Supongamos que no está en la ruta raíz (solo para agregarle un poco de dificultad), desea cambiar el nombre y debe proporcionar una ruta completa, podemos ver esto:
some_path = ''a/b/c/the_file.extension''
Entonces, puedes tomar tu camino y crear un objeto Path
partir de él:
from pathlib import Path
p = Path(some_path)
Solo para proporcionar algo de información sobre este objeto que tenemos ahora, podemos extraer cosas de él. Por ejemplo, si por algún motivo queremos renombrar el archivo modificando el nombre de archivo the_file
the_file_1
, podemos obtener la parte de nombre de archivo:
name_without_extension = p.stem
Y aún mantenga la extensión en la mano también:
ext = p.suffix
Podemos realizar nuestra modificación con una simple manipulación de cadenas:
new_file_name = "{}_{}".format(name_without_extension, 1)
Y ahora podemos realizar nuestro cambio de nombre llamando al método de rename
en el objeto de ruta que creamos y añadiendo el ext
para completar la estructura de renombramiento adecuada que queremos:
p.rename(Path(p.parent, new_file_name + ext))
Más pronto para mostrar su simplicidad:
from pathlib import Path
p = Path(some_path)
p.rename(Path(p.parent, "{}_{}".format(p.stem, 1) + p.ext))
El archivo puede estar dentro de un directorio, en ese caso especifique la ruta:
import os
old_file = os.path.join("directory", "a.txt")
new_file = os.path.join("directory", "b.kml")
os.rename(old_file, new_file)
Puede usar os.system para invocar el terminal para realizar la tarea:
os.system(''mv oldfile newfile'')
Use os.rename
:
import os
os.rename(''a.txt'', ''b.kml'')
Use os.rename
. Pero debe pasar la ruta completa de ambos archivos a la función. Si tengo un archivo a.txt
en mi escritorio, lo haré y también tengo que dar un nombre completo al archivo renombrado.
os.rename (''C: / Users / Desktop / a.txt'', ''C: / Users / Desktop / b.kml'')
os.rename(old, new)
Esto se encuentra en los documentos de Python: http://docs.python.org/library/os.html
import os
path = ''a/b/c''
# save current working directory
saved_cwd = os.getcwd()
# change your cwd to the directory which contains files
os.chdir(path)
os.rename(''a.txt'', ''b.klm'')
# moving back to the directory you were in
os.chdir(saved_cwd)
import shutil
shutil.move(''a.txt'', ''b.kml'')
Esto funcionará para cambiar el nombre o mover un archivo.
import shutil
import os
files = os.listdir("./pics/")
for key in range(0, len(files)):
print files[key]
shutil.move("./pics/" + files[key],"./pics/img" + str(key) + ".jpeg")
esto debería hacerlo Python 3+