Sådan får du det nuværende arbejdskatalog i Python

How Get Current Working Directory Python



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

importere 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 -modul

importere 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 -modulet

importere 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.