Datoteka se uporablja za trajno shranjevanje podatkov. Včasih moramo za namene programiranja premakniti lokacijo datoteke z ene poti na drugo. To nalogo lahko izvedete z uporabo skripta Python na več načinov. Premakni () je najpogosteje uporabljena metoda Pythona za premikanje datoteke iz enega imenika v drug imenik, definiran v shutil modul. Drug način premikanja lokacije datoteke z uporabo preimenuj () metodo, ki je opredeljena v ti modul. Ti dve metodi se lahko uporabljata za premikanje datoteke iz enega v drug imenik, kot je razloženo v tej vadnici.
Primer-1: Premaknite datoteko z izvirnim imenom
Način premikanja datoteke z ene lokacije na drugo lokacijo s prvotnim imenom je prikazan v naslednjem skriptu. The shutil modul je uvožen v skript za uporabo premakni () funkcijo za premikanje datoteke. Pot modul je uvožen za uporabo obstaja () funkcija za preverjanje imena datoteke obstaja ali ne. Če datoteka obstaja, bo določena ciljna pot datoteke, kamor se datoteka premakne. Ciljna lokacija bo natisnjena po premikanju datoteke. Če datoteka ne obstaja, se natisne sporočilo o napaki.
# Uvozi modul shutil
uvoz shutil
# Uvozi modul poti iz os
od ti uvozpot
# Nastavite ime datoteke s potjo
izvorna pot= 'sadje.txt'
# Preverite, ali datoteka obstaja ali ne
čepot.obstaja(izvorna pot):
# Nastavite pot imenika, kamor želite premakniti datoteko
destination_path= 'Datoteke'
# Premaknite datoteko na novo mesto
nova_lokacija= shutil.premakni(izvorna pot,destination_path)
# Natisnite novo lokacijo datoteke
tiskanje(' %S je premaknjen na lokacijo, %s'%(izvorna pot,nova_lokacija))
drugače:
# Natisnite sporočilo, če datoteka ne obstaja
tiskanje('Datoteka ne obstaja.')
Izhod
Po zagonu zgornjega skripta se prikaže naslednji izhod. Tukaj je datoteka, sadja.txt , obstaja in se je premaknilo v mapo Datoteke .
Primer-2: Premaknite datoteko z novim imenom
Način premikanja datoteke z ene lokacije na drugo lokacijo s preimenovanjem datoteke je prikazan v naslednjem skriptu. shutil in pot moduli so bili uvoženi za premikanje datoteke in preverjanje obstoja datoteke. Novo ime datoteke je določeno v ciljni poti datoteke. Če se datoteka uspešno premakne, se natisne pot do datoteke z novim imenom, drugo pa se prikaže sporočilo o napaki.
# Uvozi modul shutil
uvoz shutil
# Uvozi modul poti iz os
od ti uvozpot
# Nastavite ime datoteke s potjo
izvorna pot= 'dept.txt'
# Preverite, ali datoteka obstaja ali ne
čepot.obstaja(izvorna pot):
# Nastavite pot do ciljnega imenika z novim imenom
destination_path= 'Datoteke/department.txt'
# Premaknite datoteko na novo mesto
nova_lokacija= shutil.premakni(izvorna pot,destination_path)
# Natisnite novo lokacijo datoteke
tiskanje('{0} je premaknjen na lokacijo, {1}'.format(izvorna pot,nova_lokacija))
drugače:
# Natisnite sporočilo, če datoteka ne obstaja
tiskanje('Neveljavna pot do datoteke.')
Izhod
Po zagonu zgornjega skripta se prikaže naslednji izhod. Tukaj je datoteka, dept.txt , obstaja in je bila preimenovana z imenom department.txt in se premaknil v mapo Datoteke .
Primer 3: Premaknite mapo z več datotekami
Način premikanja mape z več datotekami je prikazan v naslednjem skriptu. Tu spremenljivka source_path vsebuje izvirno pot mape, spremenljivka destination_path pa pot poti do ciljne mape. Druga vsebina scenarija je enaka kot v prejšnjih dveh primerih.
# Uvozi modul shutiluvoz shutil
# Uvozi modul poti iz os
od ti uvozpot
# Nastavite pot imenika datotek za premikanje
izvorna pot= 'Slike/kocke'
# Preverite, ali pot imenika obstaja ali ne
čepot.obstaja(izvorna pot):
# Nastavite pot do ciljnega imenika
destination_path= 'Datoteke / kocke'
# Premaknite imenik z datotekami na novo mesto
nova_lokacija= shutil.premakni(izvorna pot,destination_path)
# Natisnite novo lokacijo
tiskanje('{0} je premaknjen na lokacijo, {1}'.format(izvorna pot,nova_lokacija))
drugače:
# Natisnite sporočilo, če pot imenika ne obstaja
tiskanje('Neveljavna lokacija imenika.')
Izhod
Po zagonu zgornjega skripta se prikaže naslednji izhod. Po scenariju se je mapa kocke premaknila na lokacijo Datoteke/kocke.
Primer 4: Premaknite vse datoteke in mape določenega imenika
Način premikanja ene mape z več datotekami je bil prikazan v prejšnjem primeru. Toda mapa ali imenik lahko vsebuje tudi več map z več datotekami. Ta primer prikazuje način premikanja te vrste map na drugo mesto. Modul os je bil uvožen v ta skript za uporabo funkcije rename (), ki bo premaknila vsebino mape z ugnezdenimi mapami in več datotekami. funkcija listdir () se uporablja za ustvarjanje seznama z datotekami in mapami izvorne mape. Nato je zanka for uporabila ponovitev seznama in s funkcijo rename () premaknila vsebino izvorne mape v ciljno mapo.
# Uvozi modul osuvoz ti
# Nastavite pot imenika datotek za premikanje
izvorna pot= 'dokumenti/'
# Preverite, ali pot imenika obstaja ali ne
če ti.pot.obstaja(izvorna pot):
# Nastavite pot do ciljnega imenika
destination_path= 'Datoteke/'
# Ustvarite seznam datotek in map izvorne poti
seznam datotek= ti.listdir(izvorna pot)
# Ponovite seznam datotek in map
za mapa vseznam datotek:
ti.preimenovati(izvorna_pot +mapa,destination_path +mapa)
# Natisnite novo lokacijo
tiskanje('Vse datoteke in mape za {0} so premaknjene na lokacijo, {1}'.format(izvorna pot,destination_path))
drugače:
# Natisnite sporočilo, če pot imenika ne obstaja
tiskanje('Neveljavna pot imenika.')
Izhod
Po zagonu zgornjega skripta se prikaže naslednji izhod. V skladu s scenarijem so se vse datoteke in mape mape z dokumenti premaknile v mapo Datoteke.
Zaključek
V tej vadnici so prikazani različni načini premikanja posameznih ali več datotek. Uporaba modulov shutil in os za premikanje lokacije datotek in map je bila razložena v tej vadnici s preprostim primerom, ki uporabnikom pythona preprosto pomaga pri takšni nalogi.