Како променити радни именик у Питхону

How Change Working Directory Python



Радни директоријум је тренутни директоријум у којем радимо и из којег се покреће скрипта; унутар овог директоријума имамо приступ многим датотекама (онима које се налазе у њему). Међутим, понекад морамо да променимо директоријуме и крећемо се напред и назад између датотека и фасцикли. У овом водичу ћемо научити како да променимо радни директоријум у Питхону.

МОДУЛ ОС

На првом месту, да бисмо то постигли, биће нам потребан ос модул у Питхону. С обзиром да је већ инсталиран, нема потребе ништа инсталирати. ОС модул се обично користи у Питхону за интеракцију, управљање и измену датотека и фасцикли на систему. На пример, можемо да креирамо/уклањамо директоријуме, мењамо радне директоријуме, пролазимо кроз датотеке, проверавамо да ли датотеке постоје итд. ... Непотребно је рећи да је то веома користан модул.







Преузимање тренутног радног именика

Да бисмо добили тренутни радни директоријум, користимо метода гетцвд () из ос модула. Имајте на уму да овде нема аргумената. У мом случају, излаз је био /хоме/калиани/ПицхармПројецтс/питхонПројецт1 на Убунту машини (покреће ПиЦхарм). То значи да се главна скрипта - маин.пи - налази у овој фасцикли (питхонПројецт1). И запамтите, радни именик, пре свега фасцикла!



увоз ти

# Преузмите тренутни радни директоријум

текући директоријум= ти.гетцвд()

принт('Ваш тренутни радни директоријум је %с'% текући директоријум)



Промена тренутног радног именика

Промена радног директоријума је једноставна помоћу методе цхдир (), која узима тачно један аргумент - путању до нове локације као низ.





увоз ти

# Преузмите тренутни радни директоријум

текући директоријум= ти.гетцвд()

принт('Ваш тренутни радни директоријум је %с'% текући директоријум)

Прво што треба да урадите је да поставите нову путању до радног именика. На Убунту -у, ово је врло једноставно!

# поставимо нови радни директоријум

нев_воркинг_дирецтори= '/хоме/калиани/Десктоп/ПитхонДирецтори'

У оперативном систему Виндовс морате да користите двоструке обрнуте косе црте да бисте дефинисали директоријум.



#нев_воркинг_дирецтори = 'Ц: \ Усерс \ невер \ Десктоп \ ПитхонДирецтори'

Затим дефинишемо клаузулу три-екцепт. Ако путања постоји, користићемо метод цхдир () за промену радног именика у нови радни директоријум. Ако путања није директоријум, бациће грешку!

покушати:

ти.цхдир(нев_воркинг_дирецтори)

принт('Радни именик је промењен!')

принт('ВД: %с'%ти.гетцвд())


осимНотАДирецториЕррор:

принт('Нисте изабрали именик.')


осимФилеНотФоундЕррор:

принт(„Мапа није пронађена. Стаза је погрешна. ')


осимГрешка дозволе:

принт('Немате приступ овој фасцикли/датотеци.')

Цео код би изгледао овако:

увоз ти

# Преузмите тренутни радни директоријум

текући директоријум= ти.гетцвд()

принт('Ваш тренутни радни директоријум је %с'% текући директоријум)

# поставимо нови радни директоријум

#нев_воркинг_дирецтори = '/хоме/калиани/Десктоп/ПитхонДирецтори'

нев_воркинг_дирецтори=р'Ц: Услужити никада Десктоп ПитхонДирецтори '

покушати:

ти.цхдир(нев_воркинг_дирецтори)

принт('Радни именик је промењен!')

принт('ВД: %с'%ти.гетцвд())


осимНотАДирецториЕррор:

принт('Нисте изабрали именик.')


осимФилеНотФоундЕррор:

принт(„Мапа није пронађена. Стаза је погрешна. ')


осимГрешка дозволе:

принт('Немате приступ овој фасцикли/датотеци.')

У ствари, грешке могу изазвати различите врсте изузетака:

и. НотАДирецториЕррор:

Претпоставимо сада за пример да сам написао следећи код за путању или нови радни директоријум:

нев_воркинг_дирецтори= 'Ц:\Корисници\никад\Десктоп\ПитхонДирецтори\тект.ткт '

Оно што овде можете приметити је да указујем на пут до текстуалног документа који се зове тект.ткт. Ово последње ће изазвати грешку познату као НотАДирецториЕррор. Другим речима, ваш пут мора указивати на неку врсту директоријума.

ии. ФилеНотФоундЕррор:

ФилеНотФоундЕррор се појављује када путања не постоји. Дакле, претпоставимо да за сада немам директоријум са именом ПитхонДирецтори на радној површини и да сам свој пут поставио на:

нев_воркинг_дирецтори= 'Ц: Услужити никада Десктоп ПитхонДирецтори '

То ће бацити а ФилеНотФоундЕррор . Ова грешка једноставно значи да директоријум на који упућујемо не постоји или није пронађен.

иии. Грешка дозволе:

ДО ПермиссионЕррор се појављује када корисник нема одговарајуће дозволе за измјену или приступ одабраном директорију.

ив. Синтаксна грешка:

Синтаксичка грешка се јавља када постоји грешка у синтакси на путањи. На Виндовс -у, ако напишемо да кажемо:

нев_воркинг_дирецтори= 'Ц: Услужити никада Десктоп ПитхонДирецтори '

Дошло је до грешке у синтакси! Међутим, синтаксну грешку је много теже ухватити јер је потребно проценити, увести или извршити. Као такво, када пишемо блокове покушај изузимања, теже је ухватити такву грешку.

У оперативном систему Виндовс, да бисте избегли грешке, путања се може исписати на један од три различита начина, тако да се не појављују грешке:

1. метод: У овој методи додајемо р пре постављања низа.

нев_воркинг_дирецтори=р'Ц: Услужити никада Десктоп ПитхонДирецтори '

Метод 2: Користимо двоструке обрнуте косе црте.

нев_воркинг_дирецтори= 'Ц:\Корисници\никад\Десктоп\ПитхонДирецтори '

Метод 3: Користимо једну косу црту.

нев_воркинг_дирецтори= 'Ц:/Усерс/невер/Десктоп/ПитхонДирецтори'

ПУТНИ МОДУЛ

Такође можемо променити радни директоријум помоћу модула путање. Прво инсталирајте путању на следећи начин (такође сам дао везу до модула):

пип инсталл патх

(хттпс: // пипи.орг/пројекат/путања/)

Затим пишемо:

фромпутувозПатх

увоз ти

Прво, проверимо тренутни радни директоријум помоћу ос модула и методе гетцвд ().

# хајде да проверимо тренутни радни директоријум

цвд= ти.гетцвд()

принт('Тренутни радни директоријум је: %с'% цвд)

принт('---------------------------------------------')

Затим поставите путању до новог радног именика. У овом случају, изабрао сам да дам пример на Виндовс машини:

# поставите путању до новог радног именика

нев_патх= 'Ц:\Корисници\никад\Десктоп\ПитхонДирецтори '

Користите Патх () за промену радног именика. Патх () овде узима само један аргумент: стварну путању до новог радног именика и користи метод цхдир () за извршавање задатка.

# промените радни директоријум

Патх(нев_патх).цхдир()

Поново проверите да ли је радни именик промењен. И овде, као што видите на слици, радни именик је заиста промењен!

# Поново проверите радни директоријум

# да ли је промењено?

цвд= ти.гетцвд()

принт('Нови радни директоријум је %с'% цвд)

Промена радних директоријума је лак задатак и захтева само један метод - метод цхдир (патх). Међутим, у зависности од тога да ли се налазите на Виндовс или Линук машини, морате бити опрезни при томе како уносите путању као низ. Ако се погрешно унесе, може доћи до грешке!

Срећно кодирање!