Fil- eller mappenavnet kan bruges sammen med hele stien eller blot nævne fil- eller mappenavnet for kun at bruge det i scriptet. Den fulde sti til en fil eller mappe fra rodmappen er angivet med den absolutte sti. Når filnavnet bruges uden stinavnet i scriptet, antages det aktuelle arbejdsmappe som filens stinavn og kaldes den relative sti. I Python er Current Working Directory indstillet til bibliotekets placering, hvorfra python -scriptet udføres. Der findes mange moduler i python for at hente det nuværende arbejdskatalog. Måderne til at hente den nuværende arbejdsmappe ved hjælp af forskellige moduler i Python har vist i denne vejledning.
Eksempel-1: Brug af pathlib-modul til at hente Current Working Directory
Stiens klasse af pathlib -modul bruges til at læse den aktuelle arbejdskatalog for det eksekverende script. Opret et python -script med følgende kode for at læse og udskrive det aktuelle arbejdskatalog ved hjælp af pathlib -modulet. Det cwd () metode af Path -klassen bruges til at udskrive det aktuelle arbejdskatalog, hvorfra scriptet udføres.
# Importer stien fra pathlib -modulet
frastiimportereSti
# Hent stien til det nuværende arbejdskatalog
current_working_directory=Sti.cwd()
# Udskriv placeringen af det aktuelle arbejdskatalog
Print('Placeringen af den aktuelle arbejdskatalog er:')
Print(current_working_directory)
Produktion:
Følgende output vises efter udførelse af ovenstående script. Her har stien til det aktuelle arbejdskatalog uden scriptnavnet vist i output.
Eksempel-2: Brug af normpath () og abspath () til at hente det aktuelle arbejdskatalog
Brug af OS -modulet er en anden måde at hente det aktuelle arbejdskatalog. Der findes forskellige metoder i sti -klassen i OS -modulet til at hente det aktuelle arbejdskatalog. Normpath () og abspath () metoder er dem to. Disse metoder returnerer det aktuelle arbejdskatalog som en streng. Opret en python -fil med følgende script for at kontrollere formålene med disse funktioner.
# Importer os -modul
importere du
# Udskriv det aktuelle arbejdskatalog med funktionen normpath ()
Print('Den aktuelle arbejdskatalog (ved hjælp af normpath ()) er:')
Print(du.sti.dirnavn(du.sti.normpath(__fil__)))
# Udskriv det aktuelle arbejdskatalog med funktionen abspath ()
Print(' nDet aktuelle arbejdskatalog (ved hjælp af abspath ()) er: ')
Print(du.sti.abspat('.'))
Produktion:
Følgende output vises efter udførelse af ovenstående script. Her har stien til det aktuelle arbejdskatalog uden scriptnavnet vist i output.
Eksempel-3: Brug realpath () til at hente det aktuelle arbejdskatalog
Det realpath () er en anden metode til at hente den aktuelle arbejdskatalog. Opret en python -fil med følgende script for at udskrive det aktuelle arbejdskatalog med scriptnavnet ved hjælp af realpath () metode . I scriptet tager det __fil__ som argumentværdien, der indeholder filens stinavn, hvori OS -modulet importeres.
# Importer os -modulimportere du
# Læs det aktuelle arbejdskatalog med funktionen realpath ()
ægte_sti= du.sti.realpath(__fil__)
# Udskriv det aktuelle arbejdskatalog med scriptnavnet
Print(' nDen aktuelle arbejdskatalog med scriptnavnet er: ')
Print(ægte_sti)
Produktion:
Følgende output vises efter udførelse af ovenstående script. Her har stien til den aktuelle arbejdskatalog med scriptnavnet vist i output.
Eksempel-4: Brug af getcwd () til at hente det aktuelle arbejdskatalog
Bruger getcwd () funktion af os -modulet er den mest enkle måde at hente den aktuelle arbejdskatalog for det eksekverende script. Den indeholder ikke noget argument og returnerer CWD som en streng. Opret en python -fil med følgende script for at kontrollere brugen af getcwd () funktion . Det aktuelle arbejdskatalog udskrives i begyndelsen af scriptet. Dernæst ændres den aktuelle bibliotekssti ved hjælp af chdir () funktion . Det kommando getcwd () kaldes igen efter ændring af biblioteket.
# Importer os -modulimportere du
# Udskriv det aktuelle arbejdskatalog med funktionen getcwd ()
Print('Den aktuelle arbejdskatalog er: n', du.getcwd())
# Skift det aktuelle arbejdskatalog
du.chdir(' / etc / mail')
# Udskriv det aktuelle arbejdskatalog efter ændring
Print(' nDen aktuelle arbejdskatalog efter ændring er: n', du.getcwd())
Produktion:
Følgende output vises efter udførelse af ovenstående script. Her er den aktuelle arbejdsmappesti uden scriptnavnet blevet udskrevet, før biblioteket ændres. Dernæst er den ændrede bibliotekssti blevet udskrevet.
Eksempel-5: Brug af getcwd () med try-undtagen for at hente det aktuelle arbejdskatalog
Opret en python -fil med følgende script for at ændre den aktuelle arbejdskatalog baseret på inputværdien og håndtere forskellige typer fejl. Tre typer fejl kan håndteres ved at køre scriptet. Det FileNotFoundError -fejl genereres, hvis stien fra input ikke findes. Det NotADirectoryError -fejl genereres, hvis stien fra input ikke er et bibliotek. Det PermissionError -fejl genereres, hvis stien fra input ikke er tilgængelig.
# Importer os -moduletimportere du
# Indtast stien til biblioteket
cwd= input('Indtast stien til det aktuelle arbejdskatalog: n')
prøve:
# Skift det aktuelle arbejdskatalog
du.chdir(cwd)
# Udskriv det aktuelle arbejdskatalog med funktionen getcwd ()
Print('Den aktuelle arbejdskatalog er: n', du.getcwd())
# Hæv fejl, hvis biblioteket ikke findes
undtagenFileNotFoundError:
Print('Katalog findes ikke.')
# Hæv fejl, hvis inputstien ikke er et bibliotek
undtagenNotADirectoryError:
Print('%s er ikke et bibliotek'%(cwd))
# Hæv fejl, hvis biblioteket ikke er tilgængeligt
undtagenTilladelse Fejl:
Print('Tilladelse nægtet at ændre biblioteket.')
Produktion:
Følgende output vises efter udførelse af ovenstående script, hvis stien findes. Her eksisterer den indtastede inputsti, og den ændrede arbejdskatalog har udskrevet i output.
Følgende output vises efter udførelse af ovenstående script, hvis stien ikke findes.
Følgende output vises efter udførelse af ovenstående script, hvis den valgte sti ikke er tilgængelig.
Konklusion:
Brugen af pathlib og os -moduler til at læse det aktuelle arbejdskatalog vises i denne vejledning ved hjælp af forskellige eksempler. Måden at hente det aktuelle arbejdskatalog efter ændring af det aktuelle arbejdskatalog baseret på brugerinput er også blevet vist i denne vejledning.