Python Omdøb fil og bibliotek ved hjælp af os.rename()

⚡ Smart opsummering

Python omdøber filer og mapper med os.rename(). Her lærer du os.rename(), os.renames(), shutil.move() og pathlib Path.rename(), samt hvordan man omdøber en mappe og batch-omdøber flere filer med klare eksempler.

  • ✏️ os.omdøb(): os.rename(src, dst) omdøber en fil eller mappe; kildekoden skal eksistere.
  • 🗂️ os.omdøber(): os.renames() opretter også automatisk manglende destinationsmapper.
  • 🚚 shutil.move(): shutil.move() omdøber og kan flytte filer på tværs af filsystemer.
  • 🐍 stibibliotek: Path.rename() omdøber filer på den objektorienterede måde (Python 3.4+).
  • 🤖 AI-hjælp: AI-værktøjer som Copilot genererer omdøbnings- og batch-omdøbningskode øjeblikkeligt.

Python Omdøb fil os.rename()

Python Omdøb fil

Python omdøb() fil er en metode, der bruges til at omdøbe en fil eller en mappe i Python programmering. De Python rename() filmetoden kan erklæres ved at sende to argumenter ved navn src (Kilde) og dst (Destination).

Syntaks

Dette er syntaksen for os.rename()-metoden

os.rename(src, dst)

Driftsparametre

src: Kilde er navnet på filen eller mappen. Det burde allerede eksistere.

dst: Destination er det nye navn på den fil eller mappe, du vil ændre.

Eksempel:

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

Lad os se på eksemplet i detaljer

Du kan omdøbe den originale fil. Vi har ændret filnavnet fra "Guru99.txt” til “Career.guru99.txt”.

Python Omdøb fil

  • For at omdøbe "guru99.txt" fil, vil vi bruge "omdøb funktion" i OS-modulet
  • Så når koden udføres, kan du se, at en ny fil "career.guru99.txt" er oprettet på højre side af panelet, som vi omdøbte til vores originale fil.

Her er den komplette kode

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

Sådan omdøber du en mappe i Python

Metoden os.rename() omdøber også mapper, ikke kun filer. Angiv det aktuelle mappenavn som kilde og det nye navn som destination.

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

Hvis kildemappen ikke findes, Python genererer en FileNotFoundError, så det er god praksis at kontrollere stien først.

Omdøb en fil ved hjælp af os.renames()

Metoden os.renames() omdøber en fil og opretter automatisk eventuelle manglende mellemliggende mapper i destinationsstien. Den fjerner også tomme mapper, der er tilbage i kildestien.

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

Her oprettes mapperne arkiv og 2024 automatisk, hvis de ikke allerede findes.

Omdøb en fil ved hjælp af shutil.move()

Funktionen shutil.move() flytter en fil til en ny placering, hvilket effektivt omdøber den, når destinationen er den samme mappe.

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

I modsætning til os.rename() kan shutil.move() også flytte en fil på tværs af forskellige filsystemer eller drev.

Omdøb en fil ved hjælp af pathlib-modulet

In Python 3.4 og nyere tilbyder pathlib-modulet en objektorienteret Path.rename()-metode til omdøbning af filer.

from pathlib import Path

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

Metoden rename() returnerer et nyt Path-objekt, der peger på den omdøbte fil.

Sådan omdøber du flere filer i Python

For at omdøbe mange filer på én gang, skal du gentage filerne i en mappe med os.listdir() og kalde os.rename() for hver enkelt. Eksemplet nedenfor tilføjer et nummereret præfiks til hver fil.

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

Brug af os.path.join() sikrer, at koden fungerer korrekt på ethvert operativsystem.

Ofte Stillede Spørgsmål

Importer os og kald os.rename(src, dst), og send det nuværende filnavn og det nye navn. Kildefilen skal allerede eksistere, eller Python genererer FileNotFoundError.

os.rename() omdøber en enkelt fil eller mappe, mens os.renames() også opretter eventuelle manglende mellemliggende mapper og fjerner tomme kildemapper efter flytningen.

Ja. shutil.move(src, dst) omdøber en fil, når destinationen er den samme mappe, og kan også flytte filer på tværs af forskellige filsystemer, i modsætning til os.rename().

Brug os.rename('old_dir', 'new_dir'). Den samme os.rename()-funktion fungerer for både filer og mapper, så længe kildemappen findes.

Løft os.listdir(mappe) og kald os.rename() for hver fil. Brug os.path.join() til at bygge fulde stier, så koden fungerer på ethvert operativsystem.

AI-assistenter som GitHub Copilot autofuldfører os.rename()- og pathlib-kald og genererer batch-omdøbningsløkker fra en kommentar, der beskriver det ønskede navngivningsmønster.

Ja. AI-drevne værktøjer kan automatisere skrivning af batch-omdøbningsscripts, anvende mønstre som nummerering eller datopræfikser og tilføje fejlhåndtering for manglende eller dublerede navne.

On Windows, os.rename() genererer FileExistsError hvis destinationen findes. På Unix overskriver den lydløst. Tjek først med os.path.exists() for at undgå at miste data.

Opsummer dette indlæg med: