Datoteka se uporablja za trajno shranjevanje podatkov. Včasih zahtevamo, da lokacijo datoteke premaknemo z ene poti na drugo pot za namene programiranja. To nalogo je mogoče izvesti z uporabo skripta Python na več načinov. Premakni () je najpogostejša metoda Pythona za premikanje datoteke iz enega imenika v drug imenik, definiran v shutil modul. Drug način premikanja lokacije datoteke z uporabo preimenuj () metoda, ki je opredeljena v os modul. Ti dve metodi lahko uporabite za premikanje datoteke iz enega imenika v drugega, kot je razloženo v tej vadnici.
Primer-1: premaknite datoteko z izvirnim imenom
Način za premikanje datoteke z enega mesta na drugo mesto z izvirnim imenom je prikazan v naslednjem skriptu. The shutil modul je uvožen v skriptu za uporabo premakni () funkcija za premikanje datoteke. Pot modul je uvožen za uporabo obstaja () funkcija za preverjanje danega imena datoteke obstaja ali ne. Če datoteka obstaja, bo določena ciljna pot datoteke, kamor bo datoteka premaknjena. Ciljna lokacija bo natisnjena po premikanju datoteke. Če datoteka ne obstaja, bo natisnjeno sporočilo o napaki.
# Uvozi modul shutiluvoz shutil
# Uvozi modul poti iz os
iz os uvozne poti
# Nastavite ime datoteke s potjo
source_path = "sadje.txt "
# Preverite, ali datoteka obstaja ali ne
če pot.obstaja (izvor_pot):
# Nastavite pot do imenika, kamor bo datoteka premaknjena
destination_path = "Datoteke"
# Premaknite datoteko na novo mesto
nova_lokacija = shutil.premakni (izvorna pot, ciljna pot)
# Natisnite novo mesto datoteke
print ("% s je premaknjen na lokacijo,% s"% (izvor_pot, nova_lokacija))
sicer:
# Natisnite sporočilo, če datoteka ne obstaja
print ("Datoteka ne obstaja.")
Izhod
Naslednji izhod bo prikazan po zagonu zgornjega skripta. Tukaj je datoteka, sadje.txt, obstaja in se je premaknil v mapo Datoteke.
Primer-2: Premaknite datoteko z novim imenom
Način za premikanje datoteke z enega mesta na drugo s preimenovanjem datoteke je prikazan v naslednjem skriptu. shutil in pot uvoženi so moduli za premikanje datoteke in preverjanje obstoja datoteke. Novo ime datoteke je določeno v ciljni poti datoteke. Če datoteko uspešno premaknete, se natisne pot do datoteke z novim imenom, natisne se drugo sporočilo o napaki.
# Uvozi modul shutiluvoz shutil
# Uvozi modul poti iz os
iz os uvozne poti
# Nastavite ime datoteke s potjo
source_path = "odd.txt "
# Preverite, ali datoteka obstaja ali ne
če pot.obstaja (izvor_pot):
# Nastavite pot do ciljnega imenika z novim imenom
destination_path = "Datoteke / oddelek.txt "
# Premaknite datoteko na novo mesto
nova_lokacija = shutil.premakni (izvorna pot, ciljna pot)
# Natisnite novo mesto datoteke
print ("0 je premaknjen na lokacijo, 1".format (izvorna pot, nova_lokacija))
sicer:
# Natisnite sporočilo, če datoteka ne obstaja
print ("Neveljavna pot do datoteke.")
Izhod
Naslednji izhod bo prikazan po zagonu zgornjega skripta. Tukaj je datoteka, odd.txt, obstaja in je bil preimenovan z imenom oddelek.txt in premaknili v mapo Datoteke.
3. primer: Premaknite mapo z več datotekami
Način premikanja mape z več datotek je prikazan v naslednjem skriptu. Tu spremenljivka source_path vsebuje pot do izvorne mape, spremenljivka target_path pa pot do ciljne mape. Druga vsebina scenarija je enaka prejšnjim primerom.
# Uvozi modul shutiluvoz shutil
# Uvozi modul poti iz os
iz os uvozne poti
# Nastavite imeniško pot datotek, ki jih želite premakniti
source_path = "Slike / kocke"
# Preverite, ali pot do imenika obstaja ali ne
če pot.obstaja (izvor_pot):
# Nastavite pot do ciljnega imenika
destination_path = "Datoteke / kocke"
# Premaknite imenik z datotekami na novo mesto
nova_lokacija = shutil.premakni (izvorna pot, ciljna pot)
# Natisnite novo lokacijo
print ("0 je premaknjen na lokacijo, 1".format (izvorna pot, nova_lokacija))
sicer:
# Natisnite sporočilo, če pot do imenika ne obstaja
print ("Neveljavna lokacija imenika.")
Izhod
Naslednji izhod bo prikazan po zagonu zgornjega skripta. V skladu s scenarijem so se mape kocke premaknile na lokacijo Datoteke / kocke.
Primer 4: Premaknite vse datoteke in mape določenega imenika
Način premikanja posamezne mape z več datotek je 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. V tem skriptu je bil uvožen os modul za uporabo funkcije preimenovanja (), 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 iteracijo seznama in vsebino izvorne mape premaknila v ciljno mapo s funkcijo rename ().
# Uvozi os moduluvoz os
# Nastavite imeniško pot datotek, ki jih želite premakniti
source_path = "dokumenti /"
# Preverite, ali pot do imenika obstaja ali ne
če os.pot.obstaja (izvor_pot):
# Nastavite pot do ciljnega imenika
destination_path = "Datoteke /"
# Ustvarite seznam datotek in map izvorne poti
seznam datotek = os.listdir (izvor_pot)
# Ponovite seznam datotek in map
za datoteko na seznamu datotek:
os.preimenovanje (izvorna_pot + datoteka, ciljna_pot + datoteka)
# Natisnite novo lokacijo
print ("Vse datoteke in mape 0 so premaknjene na lokacijo, 1".format (izvorna_pot, ciljna_pot))
sicer:
# Natisnite sporočilo, če pot do imenika ne obstaja
print ("Neveljavna pot do imenika.")
Izhod
Naslednji izhod bo prikazan po zagonu zgornjega skripta. V skladu s skriptom 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 lokacije ene ali več datotek. Uporaba modulov shutil in os za premikanje lokacije datotek in map je bila razložena v tej vadnici z enostavnim primerom, ki uporabnikom pythona enostavno pomaga pri tej vrsti opravil.