Paano Kumuha ng Kasalukuyang Directory sa Paggawa sa Python

How Get Current Working Directory Python



Ang file o pangalan ng folder ay maaaring magamit sa buong landas o pagbanggit lamang ng file o pangalan ng folder upang magamit lamang ito sa script. Ang buong landas ng isang file o folder mula sa direktoryo ng ugat ay tinukoy ng ganap na landas. Kapag ang pangalan ng file ay ginamit nang walang pathname sa script, pagkatapos ang Kasalukuyang Direktoryo sa Paggawa ay ipinapalagay bilang pathname ng file at tinawag itong kaugnay na landas. Sa Python, ang Kasalukuyang Paggawa ng Direktoryo ay nakatakda sa lokasyon ng direktoryo mula sa kung saan gumaganap ang python script. Maraming mga module ang umiiral sa sawa upang makuha ang Kasalukuyang Direktoryo sa Paggawa. Ang mga paraan upang makuha ang Kasalukuyang Directory sa Paggawa sa pamamagitan ng paggamit ng iba't ibang mga module sa Python ay ipinakita sa tutorial na ito.

Halimbawa-1: Paggamit ng module ng pathlib upang makakuha ng Kasalukuyang Directory sa Paggawa

Ang klase ng landas ng module ng pathlib ay ginagamit upang basahin ang kasalukuyang gumaganang direktoryo ng pagpapatupad ng script. Lumikha ng isang python script na may sumusunod na code upang mabasa at mai-print ang kasalukuyang gumaganang direktoryo gamit ang pathlib module. Ang pamamaraan ng cwd () ng klase ng Path ay ginagamit upang mai-print ang kasalukuyang gumaganang direktoryo mula sa kung saan isinasagawa ang script.







# I-import ang Landas mula sa module ng pathlib

mula sapathlibangkatLandas

# Kunin ang landas ng kasalukuyang gumaganang direktoryo

kasalukuyang_working_directory=Landascwd()

# I-print ang lokasyon ng kasalukuyang gumaganang direktoryo

mag-print('Ang lokasyon ng kasalukuyang gumaganang direktoryo ay:')

mag-print(kasalukuyang_working_directory)

Output:

Lilitaw ang sumusunod na output pagkatapos ipatupad ang script sa itaas. Dito, ang landas ng kasalukuyang gumaganang direktoryo nang walang pangalan ng script ay ipinakita sa output.





Halimbawa-2: Paggamit ng normpath () at abspath () upang makuha ang Kasalukuyang Direktoryo sa Paggawa

Ang paggamit ng os module ay isa pang paraan upang makuha ang kasalukuyang direktoryo ng pagtatrabaho. Iba't ibang mga pamamaraan ang umiiral sa klase ng path ng os module upang makuha ang kasalukuyang direktoryo ng pagtatrabaho. Ang normpath () at abspath () na pamamaraan silang dalawa. Ibinabalik ng mga pamamaraang ito ang kasalukuyang direktoryo ng pagtatrabaho bilang isang string. Lumikha ng isang python file na may sumusunod na script upang suriin ang mga layunin ng mga pagpapaandar na ito.





# I-import ang module ng os

angkat ikaw

# I-print ang kasalukuyang gumaganang direktoryo gamit ang function na normpath ()

mag-print('Ang kasalukuyang direktoryo ng nagtatrabaho (gumagamit ng normpath ()) ay:')

mag-print(ikaw.landas.dirname(ikaw.landas.normpath(__file__)))

# I-print ang kasalukuyang gumaganang direktoryo gamit ang pagpapaandar ng abspath ()

mag-print(' nAng kasalukuyang direktoryo ng nagtatrabaho (gumagamit ng abspath ()) ay: ')

mag-print(ikaw.landas.abspath('.'))

Output:

Lilitaw ang sumusunod na output pagkatapos ipatupad ang script sa itaas. Dito, ang landas ng kasalukuyang gumaganang direktoryo nang walang pangalan ng script ay ipinakita sa output.



Halimbawa-3: Paggamit ng realpath () upang makuha ang Kasalukuyang Direktoryo sa Paggawa

Ang realpath () ay isa pang paraan upang makuha ang kasalukuyang direktoryo ng pagtatrabaho. Lumikha ng isang python file na may sumusunod na script upang mai-print ang kasalukuyang gumaganang direktoryo gamit ang pangalan ng script sa pamamagitan ng paggamit ng pamamaraan ng realpath () . Sa script, tumatagal ng __file__ bilang halaga ng argumento na naglalaman ng pathname ng file kung saan ang os module ay na-import.

# I-import ang module ng os

angkat ikaw

# Basahin ang kasalukuyang gumaganang direktoryo gamit ang realpath () na pagpapaandar

real_path= ikaw.landas.realpath(__file__)

# I-print ang kasalukuyang gumaganang direktoryo gamit ang pangalan ng script

mag-print(' nAng kasalukuyang direktoryo na nagtatrabaho kasama ang pangalan ng script ay: ')

mag-print(real_path)

Output:

Lilitaw ang sumusunod na output pagkatapos ipatupad ang script sa itaas. Dito, ang landas ng kasalukuyang gumaganang direktoryo na may pangalan ng script ay ipinakita sa output.

Halimbawa-4: Paggamit ng getcwd () upang makuha ang Kasalukuyang Direktoryo sa Paggawa

Gamit ang pagpapaandar ng getcwd () ng os module ay ang pinaka-simpleng paraan upang makuha ang kasalukuyang direktoryo ng pagtatrabaho ng pagpapatupad ng script. Hindi ito naglalaman ng anumang pagtatalo at ibabalik ang CWD bilang isang string. Lumikha ng isang python file na may sumusunod na script upang suriin ang paggamit ng pagpapaandar ng getcwd () . Ang kasalukuyang direktoryo ng pagtatrabaho ay naka-print sa simula ng script. Susunod, ang kasalukuyang landas ng direktoryo ay nabago sa pamamagitan ng paggamit ng pagpapaandar ng chdir () . Ang utos ng getcwd () ay tinawag ulit pagkatapos baguhin ang direktoryo.

# I-import ang module ng os

angkat ikaw

# I-print ang kasalukuyang gumaganang direktoryo gamit ang function na getcwd ()

mag-print('Ang kasalukuyang gumaganang direktoryo ay: n', ikaw.getcwd())

# Baguhin ang kasalukuyang direktoryo ng pagtatrabaho

ikaw.chdir('/ etc / mail')

# I-print ang kasalukuyang gumaganang direktoryo pagkatapos ng pagbabago

mag-print(' nAng kasalukuyang direktoryo ng pagtatrabaho pagkatapos ng pagbabago ay: n', ikaw.getcwd())

Output:

Lilitaw ang sumusunod na output pagkatapos ipatupad ang script sa itaas. Dito, ang kasalukuyang gumaganang path ng direktoryo nang walang pangalan ng script ay nai-print bago baguhin ang direktoryo. Susunod, ang binago na path ng direktoryo ay nai-print.

Halimbawa-5: Paggamit ng getcwd () na may try-maliban upang makuha ang Kasalukuyang Direktoryo sa Paggawa

Lumikha ng isang python file na may sumusunod na script upang baguhin ang kasalukuyang gumaganang direktoryo batay sa halaga ng pag-input at hawakan ang iba't ibang mga uri ng mga error. Tatlong uri ng mga error ang maaaring hawakan ng pagpapatupad ng script. Ang Error sa FileNotFoundError ay mabubuo kung ang landas na kinuha mula sa input ay hindi umiiral. Ang Error sa NotADirectoryError ay mabubuo kung ang landas na kinuha mula sa input ay hindi isang direktoryo. Ang Error sa PahintulotError ay mabubuo kung ang landas na kinuha mula sa input ay hindi maa-access.

# I-import ang os module

angkat ikaw

# Ipasok ang landas ng direktoryo

cwd= input('Ipasok ang landas ng kasalukuyang gumaganang direktoryo: n')


subukan mo:

# Baguhin ang kasalukuyang direktoryo ng pagtatrabaho

ikaw.chdir(cwd)

# I-print ang kasalukuyang gumaganang direktoryo gamit ang function na getcwd ()

mag-print('Ang kasalukuyang gumaganang direktoryo ay: n', ikaw.getcwd())

# Taasan ang error kung wala ang direktoryo

maliban saFileNotFoundError:

mag-print('Walang direktoryo.')

# Taasan ang error kung ang input path ay hindi isang direktoryo

maliban saNotADirectoryError:

mag-print('% s ay hindi isang direktoryo'%(cwd))

# Taasan ang error kung hindi ma-access ang direktoryo

maliban saPahintulotError:

mag-print('Pinahintulutan na baguhin ang direktoryo.')

Output:

Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang script sa itaas kung mayroon ang landas. Dito, umiiral ang kinuha na path ng pag-input, at ang binago na direktoryo ng nagtatrabaho ay naka-print sa output.


Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang script sa itaas kung ang landas ay hindi umiiral.


Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang script sa itaas kung hindi ma-access ang kinuha na landas.

Konklusyon:

Ang paggamit ng mga pathlib at os module upang basahin ang kasalukuyang gumaganang direktoryo ay ipinapakita sa tutorial na ito sa pamamagitan ng paggamit ng iba't ibang mga halimbawa. Ang paraan upang makuha ang kasalukuyang gumaganang direktoryo pagkatapos baguhin ang kasalukuyang gumaganang direktoryo batay sa input ng gumagamit ay ipinakita din sa tutorial na ito.