Python Fájlok és könyvtárak átnevezése az os.rename() használatával

⚡ Okos összefoglaló

Python fájlok és könyvtárak átnevezése az os.rename() függvénnyel. Itt megismerkedhetsz az os.rename(), os.renames(), shutil.move() és pathlib Path.rename() függvénnyel, valamint világos példákkal bemutatjuk, hogyan nevezhetsz át egy könyvtárat és hogyan nevezhetsz át több fájlt kötegelt módon.

  • ✏️ os.rename(): Az os.rename(src, dst) átnevezi a fájlt vagy könyvtárat; a forrásnak léteznie kell.
  • 🗂️ os.renames(): Az os.renames() függvény automatikusan létrehozza a hiányzó célmappákat is.
  • 🚚 shutil.move(): A shutil.move() függvény átnevezi és áthelyezi a fájlokat fájlrendszerek között.
  • 🐍 elérési út könyvtár: A Path.rename() függvény objektumorientált módon nevezi át a fájlokat (Python 3.4+).
  • 🤖 MI segítség: Az olyan mesterséges intelligencia eszközök, mint a Copilot, azonnal átnevezési és kötegelt átnevezési kódot generálnak.

Python Fájl átnevezése os.rename()

Python fájlátnevezési

Python rename() fájl egy fájl vagy könyvtár átnevezésére használt módszer Python programozás. A Python A rename() fájlmetódus két src (Source) és dst (Célhely) argumentum átadásával deklarálható.

Szintaxis

Ez az os.rename() metódus szintaxisa

os.rename(src, dst)

paraméterek

src: A forrás a fájl vagy könyvtár neve. Már léteznie kell.

dst: A cél a módosítani kívánt fájl vagy könyvtár új neve.

Példa:

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

Nézzük a példát részletesen

Átnevezheted az eredeti fájlt, mi megváltoztattuk a fájlnevet a „Guru99.txt” fájlról „Karrier.guru99.txt” fájlra.

Python fájlátnevezési

  • A „guru99.txt” fájl átnevezéséhez az „átnevezés funkciót” fogjuk használni az operációs rendszer modulban
  • Tehát a kód végrehajtása során megfigyelhető, hogy a panel jobb oldalán létrejön egy új „career.guru99.txt” fájl, amelyet átneveztünk az eredeti fájlunkra.

Itt a teljes kód

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

Hogyan nevezzünk át egy könyvtárat a Python

Az os.rename() metódus könyvtárakat is átnevez, nem csak fájlokat. Az aktuális mappa nevét add meg forrásként, az új nevet pedig célként.

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

Ha a forráskönyvtár nem létezik, Python FileNotFoundError hibát okoz, ezért érdemes először az elérési utat ellenőrizni.

Fájl átnevezése az os.renames() használatával

Az os.renames() metódus átnevezi a fájlokat, és automatikusan létrehozza a hiányzó köztes könyvtárakat a cél elérési úton. Emellett eltávolítja a forrás elérési útján maradt üres könyvtárakat is.

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

Itt az „archívum” és a „2024” mappa automatikusan létrejön, ha még nem léteznek.

Fájl átnevezése a shutil.move() függvénnyel

A shutil.move() függvény áthelyezi a fájlt egy új helyre, ami gyakorlatilag átnevezi azt, ha a célkönyvtár ugyanabba a könyvtárba esik.

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

Az os.rename() függvénnyel ellentétben a shutil.move() függvénnyel fájlokat is át lehet helyezni különböző fájlrendszerek vagy meghajtók között.

Fájl átnevezése a pathlib modul használatával

In Python A 3.4-es és újabb verziókban a pathlib modul egy objektumorientált Path.rename() metódust kínál a fájlok átnevezéséhez.

from pathlib import Path

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

A rename() metódus egy új Path objektumot ad vissza, amely az átnevezett fájlra mutat.

Több fájl átnevezése a Python

Több fájl egyidejű átnevezéséhez futtassunk végig a könyvtárban lévő fájlokon az os.listdir() függvénnyel, és mindegyikhez hívjuk meg az os.rename() függvénnyel. Az alábbi példa minden fájlhoz egy számozott előtagot ad hozzá.

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

Az os.path.join() használatával a kód megfelelően működik bármely operációs rendszeren.

GYIK

Importáld az os-t, és hívd meg az os.rename(src, dst) függvényt, átadva az aktuális és az új fájlnevet. A forrásfájlnak már léteznie kell, vagy Python FileNotFoundError hibát okoz.

Az os.rename() egyetlen fájlt vagy könyvtárat nevez át, míg az os.renames() létrehozza a hiányzó köztes könyvtárakat, és eltávolítja az üres forrásmappákat az áthelyezés után.

Igen. A shutil.move(src, dst) átnevezi a fájlokat, ha a célmappa ugyanaz a mappa, és az os.rename()-től eltérően képes fájlokat áthelyezni különböző fájlrendszerek között.

Használd az os.rename('régi_könyvtár', 'új_könyvtár') függvényt. Ugyanaz az os.rename() függvény működik mind fájlok, mind könyvtárak esetén, feltéve, hogy a forráskönyvtár létezik.

Végezd el az os.listdir(mappa) ciklust, és hívd meg az os.rename() függvényt minden fájlhoz. Használd az os.path.join() függvényt a teljes elérési utak létrehozásához, hogy a kód bármilyen operációs rendszeren működjön.

Az olyan mesterséges intelligencia asszisztensek, mint a GitHub Copilot, automatikusan kiegészítik az os.rename() és a pathlib hívásokat, és kötegelt átnevezési ciklusokat generálnak egy, a kívánt elnevezési mintát leíró megjegyzésből.

Igen. A mesterséges intelligencia által vezérelt eszközök automatizálhatják a kötegelt átnevezési szkriptek írását, alkalmazhatnak olyan mintákat, mint a számozás vagy a dátumelőtagok, és hibakezelést adhatnak hozzá a hiányzó vagy ismétlődő nevek esetén.

On WindowsAz os.rename() függvény FileExistsError hibát generál, ha a célhely létezik. Unix rendszeren csendben felülírja. Először az os.path.exists() függvénnyel ellenőrizd az adatvesztést.

Foglald össze ezt a bejegyzést a következőképpen: