Python Hernoem bestand en map met os.rename()

โšก Slimme samenvatting

Python Hier leer je meer over os.rename(), os.renames(), shutil.move() en pathlib Path.rename(), en hoe je een map en meerdere bestanden tegelijk kunt hernoemen met duidelijke voorbeelden.

  • โ€‹ os.rename(): os.rename(src, dst) hernoemt een bestand of map; de bron moet bestaan.
  • ๐Ÿ—‚๏ธ os.renames(): os.renames() maakt ook automatisch ontbrekende bestemmingsmappen aan.
  • ๐Ÿšš shutil.move(): shutil.move() hernoemt bestanden en kan ze verplaatsen tussen bestandssystemen.
  • ๐Ÿ padbibliotheek: Path.rename() hernoemt bestanden op een objectgeoriรซnteerde manier (Python 3.4+).
  • ๐Ÿค– AI-ondersteuning: AI-tools zoals Copilot genereren direct code voor hernoemen en hetๆ‰น้‡hernoemen.

Python Bestand hernoemen os.rename()

Python File Rename

Python hernoem() bestand is een methode die wordt gebruikt om een โ€‹โ€‹bestand of map te hernoemen Python programmeren. De Python rename() bestandsmethode kan worden gedeclareerd door twee argumenten met de naam src (Bron) en dst (Bestemming) door te geven.

Syntaxis

Dit is de syntaxis voor de methode os.rename().

os.rename(src, dst)

Kenmerken

src: Bron is de naam van het bestand of de map. Het zou al moeten bestaan.

dst: Bestemming is de nieuwe naam van het bestand of de map die u wilt wijzigen.

Voorbeeld:

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

Laten we het voorbeeld in detail bekijken

Je kunt het originele bestand hernoemen; wij hebben de bestandsnaam gewijzigd van โ€œGuru99.txtโ€ naar โ€œCareer.guru99.txt.โ€

Python File Rename

  • Om het bestand โ€œguru99.txtโ€ te hernoemen, gaan we de โ€œhernoemingsfunctieโ€ gebruiken in de OS-module
  • Dus wanneer de code wordt uitgevoerd, kun je zien dat er aan de rechterkant van het paneel een nieuw bestand โ€œcareer.guru99.txtโ€ wordt aangemaakt, dat we hebben hernoemd naar ons originele bestand.

Hier is de volledige code

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()

Hoe een map te hernoemen in Python

De os.rename() methode hernoemt niet alleen bestanden, maar ook mappen. Geef de huidige mapnaam op als bron en de nieuwe naam als bestemming.

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

Als de bronmap niet bestaat, Python Dit geeft een FileNotFoundError, dus het is verstandig om eerst het pad te controleren.

Een bestand hernoemen met os.renames()

De methode os.renames() hernoemt een bestand en maakt automatisch alle ontbrekende tussenliggende mappen aan in het bestemmingspad. Ook worden lege mappen die in het bronpad zijn achtergebleven, verwijderd.

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

Hier worden de mappen archive en 2024 automatisch aangemaakt als ze nog niet bestaan.

Een bestand hernoemen met shutil.move()

De functie shutil.move() verplaatst een bestand naar een nieuwe locatie, waardoor het bestand feitelijk wordt hernoemd als de bestemming dezelfde map is.

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

In tegenstelling tot os.rename(), kan shutil.move() een bestand ook verplaatsen tussen verschillende bestandssystemen of schijven.

Een bestand hernoemen met behulp van de pathlib-module.

In Python Vanaf versie 3.4 biedt de module pathlib een objectgeoriรซnteerde Path.rename()-methode voor het hernoemen van bestanden.

from pathlib import Path

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

De rename()-methode retourneert een nieuw Path-object dat verwijst naar het hernoemde bestand.

Hoe meerdere bestanden te hernoemen in Python

Om meerdere bestanden tegelijk te hernoemen, doorloop je de bestanden in een map met `os.listdir()` en roep je voor elk bestand `os.rename()` aan. Het onderstaande voorbeeld voegt een genummerd voorvoegsel toe aan elk bestand.

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))

Door os.path.join() te gebruiken, blijft de code correct werken op elk besturingssysteem.

Veelgestelde vragen

Importeer os en roep os.rename(src, dst) aan, waarbij je de huidige bestandsnaam en de nieuwe naam doorgeeft. Het bronbestand moet al bestaan, of Python Geeft een FileNotFoundError.

os.rename() hernoemt een enkel bestand of een enkele map, terwijl os.renames() ook eventuele ontbrekende tussenliggende mappen aanmaakt en lege bronmappen verwijdert na de verplaatsing.

Ja. shutil.move(src, dst) hernoemt een bestand wanneer de bestemming dezelfde map is, en kan in tegenstelling tot os.rename() ook bestanden verplaatsen tussen verschillende bestandssystemen.

Gebruik os.rename('old_dir', 'new_dir'). Dezelfde os.rename()-functie werkt voor zowel bestanden als mappen, zolang de bronmap maar bestaat.

Loop door os.listdir(folder) en roep os.rename() aan voor elk bestand. Gebruik os.path.join() om volledige paden te maken, zodat de code op elk besturingssysteem werkt.

AI-assistenten zoals GitHub Copilot vullen automatisch os.rename() en pathlib-aanroepen aan en genereren batch-rename-loops op basis van een opmerking die het gewenste naamgevingspatroon beschrijft.

Ja. Met behulp van AI-gestuurde tools kan het schrijven van scripts voor hetๆ‰น้‡ hernoemen van bestanden worden geautomatiseerd, kunnen patronen zoals nummering of datumvoorvoegsels worden toegepast en kan foutafhandeling worden toegevoegd voor ontbrekende of dubbele namen.

On Windowsos.rename() geeft een FileExistsError als de bestemming bestaat. Op Unix wordt het bestand stilzwijgend overschreven. Controleer eerst met os.path.exists() om gegevensverlies te voorkomen.

Vat dit bericht samen met: