Python Zmień nazwę pliku i katalogu za pomocą os.rename()
⚡ Inteligentne podsumowanie
Python Zmienia nazwy plików i katalogów za pomocą os.rename(). Tutaj nauczysz się os.rename(), os.renames(), shutil.move() i pathlib Path.rename(), a także jak zmienić nazwę katalogu i zbiorczo zmienić nazwy wielu plików, wraz z przejrzystymi przykładami.

Python Zmień nazwę pliku
Python zmień nazwę() pliku to metoda używana do zmiany nazwy pliku lub katalogu Python programowanie. The Python rename() można zadeklarować, przekazując dwa argumenty o nazwach src (źródło) i dst (miejsce docelowe).
Składnia
To jest składnia metody os.rename().
os.rename(src, dst)
Parametry
źródło: Źródło to nazwa pliku lub katalogu. Powinno już istnieć.
czas letni: Miejsce docelowe to nowa nazwa pliku lub katalogu, który chcesz zmienić.
Przykład:
import os os.rename('guru99.txt','career.guru99.txt')
Przyjrzyjmy się szczegółowo przykładowi
Możesz zmienić nazwę oryginalnego pliku, zmieniliśmy nazwę pliku z „Guru99.txt” na „Career.guru99.txt”.
- Aby zmienić nazwę pliku „guru99.txt”, użyjemy „funkcji zmiany nazwy” w module OS
- Zatem po wykonaniu kodu można zauważyć, że po prawej stronie panelu tworzony jest nowy plik „career.guru99.txt”, którego nazwę zmieniliśmy na naszą oryginalną.
Oto pełny kod
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()
Jak zmienić nazwę katalogu w Python
Metoda os.rename() zmienia również nazwy katalogów, nie tylko plików. Podaj bieżącą nazwę folderu jako źródłową i nową nazwę jako docelową.
import os os.rename("old_directory", "new_directory")
Jeżeli katalog źródłowy nie istnieje, Python podnosi wyjątek FileNotFoundError, dlatego dobrą praktyką jest sprawdzenie ścieżki w pierwszej kolejności.
Zmiana nazwy pliku za pomocą os.renames()
Metoda os.renames() zmienia nazwę pliku i automatycznie tworzy brakujące katalogi pośrednie w ścieżce docelowej. Usuwa również puste katalogi pozostawione w ścieżce źródłowej.
import os os.renames("guru99.txt", "archive/2024/career.txt")
W tym przypadku foldery „archiwum” i „2024” są tworzone automatycznie, jeśli jeszcze nie istnieją.
Zmiana nazwy pliku za pomocą shutil.move()
Funkcja shutil.move() przenosi plik do nowej lokalizacji, co w praktyce powoduje zmianę jego nazwy, gdy miejscem docelowym jest ten sam katalog.
import shutil shutil.move("guru99.txt", "career.guru99.txt")
W przeciwieństwie do os.rename(), shutil.move() może również przenosić pliki pomiędzy różnymi systemami plików lub dyskami.
Zmiana nazwy pliku za pomocą modułu pathlib
In Python Od wersji 3.4 moduł pathlib oferuje obiektowo zorientowaną metodę Path.rename() służącą do zmiany nazw plików.
from pathlib import Path file = Path("guru99.txt") file.rename("career.guru99.txt")
Metoda rename() zwraca nowy obiekt Path wskazujący na plik o zmienionej nazwie.
Jak zmienić nazwy wielu plików w Python
Aby zmienić nazwy wielu plików jednocześnie, przejrzyj pliki w katalogu za pomocą os.listdir() i wywołaj os.rename() dla każdego z nich. Poniższy przykład dodaje prefiks z numerem do każdego pliku.
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))
Użycie os.path.join() sprawia, że kod działa poprawnie w każdym systemie operacyjnym.

