Python Redenumiți fișierul și directorul folosind os.rename()

⚡ Rezumat inteligent

Python redenumește fișiere și directoare cu os.rename(). Aici veți învăța os.rename(), os.renames(), shutil.move() și pathlib Path.rename(), plus cum să redenumiți un director și să redenumiți în lot mai multe fișiere cu exemple clare.

  • ✏️ os.rename(): os.rename(src, dst) redenumește un fișier sau un director; sursa trebuie să existe.
  • 🗂️ os.renames(): De asemenea, funcția os.renames() creează automat folderele de destinație lipsă.
  • 🚚 shutil.move(): shutil.move() redenumește și poate muta fișiere între sistemele de fișiere.
  • 🐍 pathlib: Path.rename() redenumește fișierele în mod orientat pe obiecte (Python 3.4+).
  • 🤖 Ajutor AI: Instrumentele de inteligență artificială precum Copilot generează instantaneu cod pentru redenumire și redenumire în lot.

Python Redenumiți fișierul os.rename()

Python Redenumește fisierul

Python rename() fișier este o metodă folosită pentru a redenumi un fișier sau un director în Python programare. The Python Metoda fișierului rename() poate fi declarată prin trecerea a două argumente numite src (Sursă) și dst (Destinație).

Sintaxă

Aceasta este sintaxa pentru metoda os.rename().

os.rename(src, dst)

parametrii

src: Sursa este numele fișierului sau directorului. Ar trebui să existe deja.

dst: Destinația este noul nume al fișierului sau directorului pe care doriți să îl schimbați.

Exemplu:

import os  
os.rename('guru99.txt','career.guru99.txt')

Să ne uităm la exemplu în detaliu

Puteți redenumi fișierul original, noi am schimbat numele fișierului din „Guru99.txt” la „Career.guru99.txt”.

Python Redenumește fisierul

  • Pentru a redenumi fișierul „guru99.txt”, vom folosi „funcția de redenumire” în modulul OS
  • Deci, atunci când codul este executat, puteți observa că un nou fișier „career.guru99.txt” este creat în partea dreaptă a panoului, pe care l-am redenumit pentru fișierul nostru original.

Aici este codul complet

import os
import shutil
from os import path

def main():
	# make a duplicate of an existing file
    if path.exists("guru99.txt"):
	# get the path to the file in the current directory
        src = path.realpath("guru99.txt");
		
	# rename the original file
        os.rename('guru99.txt','career.guru99.txt') 
		
if __name__ == "__main__":
    main()

Cum se redenumește un director în Python

Metoda os.rename() redenumește și directoare, nu doar fișiere. Transmite numele folderului curent ca sursă și noul nume ca destinație.

import os
os.rename("old_directory", "new_directory")

Dacă directorul sursă nu există, Python ridică o eroare FileNotFoundError, așa că este o practică bună să verificați mai întâi calea.

Redenumirea unui fișier folosind os.renames()

Metoda os.renames() redenumește un fișier și creează automat orice directoare intermediare lipsă în calea de destinație. De asemenea, elimină directoarele goale rămase în calea sursă.

import os
os.renames("guru99.txt", "archive/2024/career.txt")

Aici, folderele arhivă și 2024 sunt create automat dacă nu există deja.

Redenumirea unui fișier folosind shutil.move()

Funcția shutil.move() mută un fișier într-o nouă locație, ceea ce îl redenumește efectiv atunci când destinația este același director.

import shutil
shutil.move("guru99.txt", "career.guru99.txt")

Spre deosebire de os.rename(), shutil.move() poate muta un fișier între diferite sisteme de fișiere sau unități.

Redenumirea unui fișier folosind modulul pathlib

In Python 3.4 și versiunile ulterioare, modulul pathlib oferă o metodă Path.rename() orientată pe obiecte pentru redenumirea fișierelor.

from pathlib import Path

file = Path("guru99.txt")
file.rename("career.guru99.txt")

Metoda rename() returnează un nou obiect Path care indică fișierul redenumit.

Cum să redenumiți mai multe fișiere în Python

Pentru a redenumi mai multe fișiere simultan, parcurgeți fișierele dintr-un director cu os.listdir() și apelați os.rename() pentru fiecare dintre ele. Exemplul de mai jos adaugă un prefix numerotat fiecărui fișier.

import os

folder = "myfiles"
for count, filename in enumerate(os.listdir(folder)):
    new_name = f"file_{count}.txt"
    os.rename(os.path.join(folder, filename), os.path.join(folder, new_name))

Folosirea funcției os.path.join() menține codul funcționând corect pe orice sistem de operare.

Întrebări frecvente

Importați sistemul de operare și apelați os.rename(src, dst), transmițând numele fișierului curent și noul nume. Fișierul sursă trebuie să existe deja sau Python generează eroarea FileNotFoundError.

os.rename() redenumește un singur fișier sau director, în timp ce os.renames() creează și orice directoare intermediare lipsă și elimină folderele sursă goale după mutare.

Da. shutil.move(src, dst) redenumește un fișier atunci când destinația este același folder și poate muta fișiere între diferite sisteme de fișiere, spre deosebire de os.rename().

Folosește os.rename('old_dir', 'new_dir'). Aceeași funcție os.rename() funcționează atât pentru fișiere, cât și pentru directoare, atâta timp cât directorul sursă există.

Buclați os.listdir(folder) și apelați os.rename() pentru fiecare fișier. Folosiți os.path.join() pentru a construi căi complete, astfel încât codul să funcționeze pe orice sistem de operare.

Asistenții de inteligență artificială, precum GitHub Copilot, completează automat apelurile os.rename() și pathlib și generează bucle de redenumire în lot dintr-un comentariu care descrie modelul de denumire dorit.

Da. Instrumentele bazate pe inteligență artificială pot automatiza scrierea de scripturi de redenumire în lot, pot aplica modele precum numerotare sau prefixe de dată și pot adăuga gestionarea erorilor pentru numele lipsă sau duplicate.

On Windows, os.rename() generează FileExistsError dacă destinația există. Pe Unix, suprascrie în mod silențios. Verificați mai întâi cu os.path.exists() pentru a evita pierderea datelor.

Rezumați această postare cu: