Kai dirbate su failais kataloguose „Python“, visada verta naudoti absoliučius kelius. Tačiau jei dirbate santykiniais keliais, turėsite suprasti dabartinio darbo katalogo sampratą ir kaip rasti ar pakeisti dabartinį darbo katalogą. Absoliutus kelias nurodo failo ar katalogo vietą pradedant šakniniu katalogu, o santykinis kelias prasideda nuo dabartinio darbo katalogo.
Kai paleisite „Python“ scenarijų, dabartinis darbo katalogas bus nustatytas į katalogą, iš kurio vykdomas scenarijus.
„Os python“ modulis suteikia nešiojamąjį sąveikos su operacine sistema būdą. Modulis yra standartinės „Python“ bibliotekos dalis ir apima dabartinio darbo katalogo paieškos ir keitimo metodus.
Kaip gauti dabartinį „Python“ darbo katalogą #
The getcwd ()
„os“ modulio „Python“ metodas pateikia eilutę, kurioje yra absoliutus dabartinio darbo katalogo kelias. Grąžintoje eilutėje nėra pasvirojo brūkšnio simbolio.
os.getcwd ()
Norėdami naudoti „os“ modulio metodus, turite importuoti modulį failo viršuje.
Žemiau yra pavyzdys, parodantis, kaip atsispausdinti dabartinį darbo katalogą:
# Importuokite os modulį importuokite os # Gaukite dabartinį darbo katalogą cwd = os.getcwd () # Spausdinti dabartinį darbo katalogo spausdinimą ("Dabartinis darbo katalogas: 0".format (cwd)) # Atspausdinkite grąžinto objekto spausdinimo tipą ("os.getcwd () pateikia tipo objektą: 0 ".formatas (tipas (cwd)))
Išvestis atrodys maždaug taip:
Dabartinis darbo katalogas: / home / linuxize / Desktop os.getcwd () pateikia tipo objektą:
Jei norite rasti katalogą, kuriame yra scenarijus, naudokite os.kelias.realpath (__ file__)
. Tai grąžins eilutę su absoliučiu keliu į vykdomą scenarijų.Dabartinio „Python“ darbo katalogo keitimas #
Norėdami pakeisti dabartinį „Python“ darbo katalogą, naudokite chdir ()
metodas.
os.getcwd (kelias)
Metodas priima vieną argumentą, kelią į katalogą, kurį norite pakeisti. The kelias
argumentas gali būti absoliutus arba santykinis.
Štai pavyzdys:
# Importuoti os modulį importuoti os # Spausdinti dabartinį darbo katalogo spausdinimą ("Dabartinis darbo katalogas: 0".formatas (os.getcwd ())) # Pakeiskite dabartinį darbo katalogą.chdir ('/ tmp') # Spausdinti dabartinio darbo katalogo spausdinimą ("Dabartinis darbo katalogas: 0".formatas (os.getcwd ()))
Išvestis atrodys maždaug taip:
Dabartinis darbo katalogas: / home / linuxize / Desktop Dabartinis darbo katalogas: / tmp
Argumentas pateiktas chdir ()
metodas turi būti katalogas, kitaip NotADirectoryError
keliama išimtis. Jei nurodyto katalogo nėra, a FileNotFoundError
keliama išimtis. Jei vartotojas, kuriame veikia scenarijus, neturi reikiamų teisių, a PermissionError
keliama išimtis.
# Importuokite os modulį importuokite os kelią = '/ var / www' try: os.chdir (path) print ("Dabartinis darbo katalogas: 0".formatas (os.getcwd ())), išskyrus FileNotFoundError: print ("Katalogas: 0 neegzistuoja".format (path)), išskyrus NotADirectoryError: print ("0 nėra katalogas".formatas (kelias)), išskyrus „PermissionError“: print („Jūs neturite leidimų pakeisti į 0“.formatas (kelias))
Išvada Nr
Norėdami rasti dabartinį „Python“ darbo katalogą, naudokite os.getcwd ()
, ir norėdami pakeisti dabartinį darbo katalogą, naudokite os.chdir (kelias)
.
Jei turite klausimų ar atsiliepimų, palikite komentarą.