¿Cómo guardar un archivo con el nombre de archivo del usuario que usa Python?

requisitos previos:

Se puede guardar un archivo con el nombre personalizado del usuario utilizando los conceptos de manejo de archivos de Python. Python proporciona funciones integradas para trabajar con archivos. El archivo se puede guardar con el nombre preferido del usuario creando un nuevo archivo, renombrando el archivo existente, haciendo una copia de un archivo (Guardar como). Vamos a discutir estos en detalle.  

Creando un nuevo archivo

Método 1: Usar la función open()

Podemos crear un nuevo archivo usando la función open() con uno de los modos de acceso que se enumeran a continuación.  

Sintaxis:  

abierto (ruta de archivo, modo)

Modos de acceso:

  • Solo escritura (‘w’): crea un nuevo archivo para escritura; si el archivo no existe, de lo contrario, lo trunca y sobrescribe el archivo existente.
  • Escribir y leer (‘w+’): crea un nuevo archivo para lectura y escritura, si el archivo no existe, de lo contrario se trunca y sobrescribe el archivo existente.
  • Solo agregar (‘a’): crea un nuevo archivo para escribir, si el archivo no existe, de lo contrario, los datos que se escriben se insertarán al final del archivo.
  • Agregar y leer (‘a+’): crea un nuevo archivo para lectura y escritura, si el archivo no existe, de lo contrario, los datos que se escriben se insertarán al final del archivo.

Acercarse

  • Obtener el nombre del archivo del usuario
  • Abra un archivo con el modo de acceso mencionado
  • Crear este archivo con el nombre ingresado

Ejemplo:

Python3

# path of this script
directory = "D:\gfg\\"
  
# get fileName from user
filepath = directory + input("Enter filename: ")
  
# Creates a new file
with open(filepath, 'w+') as fp:
    pass

Producción:

Enter filename: newgfgfile.txt

Método 2: usar la biblioteca pathlib

pathlib ofrece un conjunto de clases para manejar las rutas del sistema de archivos. Podemos usar el método touch() para crear el archivo en una ruta determinada, actualiza la hora de modificación del archivo con la hora actual y marca exist_ok como Verdadero; de lo contrario, se genera FileExistsError .

Sintaxis: 

Path.touch(modo=0o666, exist_ok=True)

Acercarse

  • Módulo de importación
  • Obtener el nombre del archivo del usuario
  • Crear un archivo con el nombre ingresado

Ejemplo:

Python3

# import pathlib module
import pathlib
  
# path of this script
directory = "D:\gfg\\"
  
# get fileName from user
filepath = directory + input("Enter filename:")
  
# To create a file
pathlib.Path(filepath).touch()

Producción:

Enter filename:gfgfile2.txt

Cambiar el nombre de un archivo

Método 1: Usar el módulo os

El módulo OS de Python incluye funciones para comunicarse con el sistema operativo. Aquí, podemos usar el método rename() para guardar un archivo con el nombre especificado por el usuario .

Sintaxis: 

renombrar(origen, destino, *, src_dir_fd=Ninguno, dst_dir_fd=Ninguno)

Acercarse:

  • Módulo de importación
  • Obtener el nombre del archivo de origen
  • Obtener el nombre del archivo de destino
  • Cambiar el nombre del archivo de origen al archivo o directorio de destino
  • Si el archivo de destino ya existe, la operación fallará con un OSError.

Ejemplo:

Python3

# import os library
import os
  
# get source file name
src = input("Enter src filename:")
  
# get destination file name
dest = input("Enter dest filename:")
  
# rename source file name with destination file name
os.rename(src, dest)

Producción:

Introduzca el nombre de archivo src:D:\gfg\newgfgfile.txt
 

Introduzca el nombre de archivo de destino: D:\gfg\renamedfile1.txt

Método 2: usar la biblioteca pathlib

pathlib también proporciona la función de cambio de nombre() para cambiar el nombre de un archivo que más o menos tiene el mismo propósito que se indicó anteriormente. 

sintaxis:

 Ruta (ruta de archivo). Renombrar (objetivo) 

Acercarse:

  • Módulo de importación
  • Obtener el nombre del archivo de origen
  • Obtener el nombre del archivo de destino
  • Cambiar el nombre del archivo o directorio de origen al destino especificado
  • Devuelve una nueva instancia de Path al destino. (En Unix, si el destino existe y el usuario tiene permiso, será reemplazado).

Ejemplo:

Python3

# import pathlib module
import pathlib
  
# get source file name
src = input("Enter src filename:")
  
# get destination file name
target = input("Enter target filename:")
  
# rename source file name with target file name
pathlib.Path(src).rename(target)

Producción:

Introduzca el nombre de archivo src:D:\gfg\gfgfile2.txt
 

Ingrese el nombre del archivo de destino: D:\gfg\renamedfile2.txt

Copiar o duplicar un archivo

Método 1: Usar el módulo os 

Podemos usar el método popen() para hacer una copia del archivo de origen al archivo de destino con el nombre especificado por el usuario.

Sintaxis:

 popen (comando, modo, tamaño de búfer)

os.popen() obtiene el comando que se ejecutará como primer argumento, el modo de acceso como segundo argumento que se puede leer (‘r’) o escribir (‘w’) y finalmente el tamaño del búfer. El modo predeterminado es lectura y 0 para no almacenar en búfer, enteros positivos para el tamaño del búfer.

Acercarse:

  • Módulo de importación
  • Obtener el nombre del archivo de origen
  • Obtener el nombre del archivo de destino
  • Copiar origen a destino

Ejemplo:

Python

# import os module
import os
  
# get source file name
src = input("Enter src filename:")
  
# get destination file name
destination = input("Enter target filename:")
  
# copies source to destination file
os.popen(f"copy {src} {destination}")

Producción:

Ingrese el nombre de archivo src: D: \ gfg \ renamefile1.txt
 

Ingrese el nombre del archivo de destino: D:\gfg\copied-renamedfile1.txt

Método 2 : Usando el módulo shutil

El módulo shutil ofrece varias operaciones de alto nivel en archivos y colecciones de archivos. Su método copyfile() se usa para renombrar el archivo con el nombre preferido del usuario.

Sintaxis: 

shutil.copyfile(src_file, dest_file, *, follow_symlinks=True)

Acercarse:

  • Módulo de importación
  • Obtener el nombre del archivo de origen
  • Obtener el nombre del archivo de destino
  • Copie el archivo de origen a un nuevo archivo de destino. Si ambos nombres de archivo especifican el mismo archivo, se genera SameFileError y, si el archivo de destino ya existe, se reemplazará.

Ejemplo:

Python3

# import shutil module
import shutil
  
# get source file name
src = input("Enter src filename:")
  
# get destination file name
dest = input("Enter target filename:")
  
# copies source file to a new destination file
shutil.copyfile(src, dest)

Producción:

Ingrese el nombre de archivo src: D: \ gfg \ renamefile2.txt
 

Ingrese el nombre del archivo de destino: D:\gfg\copied-renamedfile2.txt

Publicación traducida automáticamente

Artículo escrito por veeraharish y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *