Kā mainīt darba direktoriju programmā Python

How Change Working Directory Python



Darba direktorijs ir pašreizējais direktorijs, kurā mēs strādājam un no kura tiek palaists skripts; šajā direktorijā mums ir piekļuve daudziem failiem (tiem, kas atrodas tajā). Tomēr dažreiz mums ir jāmaina katalogi un jādodas uz priekšu un atpakaļ starp failiem un mapēm. Šajā apmācībā mēs iemācīsimies mainīt darba direktoriju programmā Python.

OS MODULIS

Pirmkārt, lai to sasniegtu, mums būs nepieciešams Python os modulis. Tā kā tas ir iepriekš instalēts, nekas nav jāinstalē. OS modulis parasti tiek izmantots Python, lai mijiedarbotos, pārvaldītu un mainītu sistēmas failus un mapes. Piemēram, mēs varam izveidot/noņemt direktorijus, mainīt darba direktorijus, caurskatāmos failus, pārbaudīt, vai faili pastāv utt.… Lieki piebilst, ka tas ir ļoti noderīgs modulis.







Pašreizējā darba direktorija iegūšana

Lai iegūtu pašreizējo darba direktoriju, mēs izmantojam getcwd () metode no os moduļa. Lūdzu, ņemiet vērā, ka netiek iesniegti nekādi argumenti. Manā gadījumā izlaide bija /home/kalyani/PycharmProjects/pythonProject1 Ubuntu mašīnā (darbojas PyCharm). Tas nozīmē, ka galvenais skripts - main.py - atrodas šajā mapē (pythonProject1). Un ņemiet vērā, darba katalogs, pirmkārt, mape!



importēt jūs

# Iegūstiet pašreizējo darba direktoriju

current_directory= jūs.getcwd()

drukāt('Jūsu pašreizējais darba direktorijs ir %s'% current_directory)



Pašreizējā darba direktorija maiņa

Darba direktorija maiņa ir vienkārša, izmantojot metodi chdir (), kas aizņem tieši vienu argumentu - ceļu uz jauno atrašanās vietu kā virkni.





importēt jūs

# Iegūstiet pašreizējo darba direktoriju

current_directory= jūs.getcwd()

drukāt('Jūsu pašreizējais darba direktorijs ir %s'% current_directory)

Pirmā lieta, kas jādara, ir iestatīt jauno ceļu uz darba direktoriju. Ubuntu tas ir ļoti vienkārši!

# iestatīsim jaunu darba direktoriju

new_working_directory= '/home/kalyani/Desktop/PythonDirectory'

Operētājsistēmā Windows direktorija definēšanai jāizmanto dubultās slīpsvītras.



#new_working_directory = 'C: \ Lietotāji \ nekad \ Desktop \ PythonDirectory'

Tālāk mēs definējam izņēmuma klauzulu. Ja ceļš pastāv, mēs izmantosim metodi chdir (), lai mainītu darba direktoriju uz jaunu darba direktoriju. Ja ceļš nav direktorijs, tas radīs kļūdu!

pamēģini:

jūs.chdir(new_working_directory)

drukāt('Darba katalogs ir mainīts!')

drukāt('WD: %s'%jūs.getcwd())


izņemotNotADirectoryKļūda:

drukāt('Jūs neesat izvēlējies direktoriju.')


izņemotFileNotFoundError:

drukāt('Mape netika atrasta. Ceļš ir nepareizs. ')


izņemotAtļaujas kļūda:

drukāt('Jums nav piekļuves šai mapei/failam.')

Pilns kods izskatīsies šādi:

importēt jūs

# Iegūstiet pašreizējo darba direktoriju

current_directory= jūs.getcwd()

drukāt('Jūsu pašreizējais darba direktorijs ir %s'% current_directory)

# iestatīsim jaunu darba direktoriju

#new_working_directory = '/home/kalyani/Desktop/PythonDirectory'

new_working_directory=r'C: Ukalpot njebkad Ddarbvirsma LppythonDirectory '

pamēģini:

jūs.chdir(new_working_directory)

drukāt('Darba katalogs ir mainīts!')

drukāt('WD: %s'%jūs.getcwd())


izņemotNotADirectoryKļūda:

drukāt('Jūs neesat izvēlējies direktoriju.')


izņemotFileNotFoundError:

drukāt('Mape netika atrasta. Ceļš ir nepareizs. ')


izņemotAtļaujas kļūda:

drukāt('Jums nav piekļuves šai mapei/failam.')

Faktiski kļūdas var radīt dažāda veida izņēmumus:

i. NotADirectoryKļūda:

Tagad, piemēram, pieņemsim, ka ceļam vai jaunajam darba direktorijam es uzrakstīju šādu kodu:

new_working_directory= 'C:\Lietotāji\nekad\Darbvirsma\PythonDirectory\text.txt '

Šeit varat atzīmēt, ka es norādu ceļu uz teksta dokumentu, ko sauc par text.txt. Un pēdējais radīs kļūdu, kas pazīstama kā NotADirectoryError. Citiem vārdiem sakot, jūsu ceļam ir jānorāda uz kāda veida direktoriju.

ii. FileNotFoundError:

FileNotFoundError tiek izmests, ja ceļš neeksistē. Tātad, pieņemsim, ka manā darbvirsmā nav direktorija ar nosaukumu PythonDirectory un es iestatīju savu ceļu uz:

new_working_directory= 'C: Ukalpot njebkad Ddarbvirsma LppythonDirectory '

Tas iemetīs a FileNotFoundError . Šī kļūda vienkārši nozīmē, ka direktorija, uz kuru mēs norādām, nepastāv vai netika atrasts.

iii. Atļaujas kļūda:

TO PermissionError tiek parādīts, ja lietotājam nav atbilstošu atļauju mainīt vai piekļūt izvēlētajam direktorijam.

iv. Sintakses kļūda:

Sintakses kļūda rodas, ja ceļā ir sintakses kļūda. Ja rakstām sistēmā Windows, sakām:

new_working_directory= 'C: Ukalpot njebkad Ddarbvirsma LppythonDirectory '

Tiek izmesta sintakses kļūda! Tomēr sintakses kļūdu ir daudz grūtāk pamanīt, jo tā ir jāizvērtē, jāimportē vai jāizpilda. Tādējādi, rakstot blokus, izņemot mēģinājumus, šādu kļūdu ir grūtāk pamanīt.

Operētājsistēmā Windows, lai izvairītos no kļūdām, ceļu var izrakstīt vienā no trim dažādiem veidiem, lai netiktu izmesta neviena kļūda:

1. metode. Šajā metodē pirms virknes noteikšanas mēs pievienojam r.

new_working_directory=r'C: Ukalpot njebkad Ddarbvirsma LppythonDirectory '

2. metode. Mēs izmantojam dubultās slīpsvītras.

new_working_directory= 'C:\Lietotāji\nekad\Darbvirsma\PythonDirectory '

3. metode. Mēs izmantojam vienu slīpsvītru uz priekšu.

new_working_directory= 'C:/Lietotāji/nekad/Desktop/PythonDirectory'

PATH MODULIS

Mēs varam arī mainīt darba direktoriju, izmantojot ceļa moduli. Vispirms instalējiet ceļu šādi (esmu arī norādījis saiti uz moduli):

pip instalācijas ceļš

(https: // pypi.org/projekts/ceļš/)

Tālāk mēs rakstām:

noceļšimportētCeļš

importēt jūs

Vispirms pārbaudīsim pašreizējo darba direktoriju, izmantojot os moduli un metodi getcwd ().

# pārbaudīsim pašreizējo darba direktoriju

cwd= jūs.getcwd()

drukāt('Pašreizējais darba direktorijs ir: %s'% cwd)

drukāt('---------------------------------------------')

Pēc tam iestatiet ceļu uz jauno darba direktoriju. Šajā gadījumā es izvēlējos rādīt piemēru Windows mašīnā:

# iestatiet ceļu uz jauno darba direktoriju

new_path= 'C:\Lietotāji\nekad\Darbvirsma\PythonDirectory '

Izmantojiet Path (), lai mainītu darba direktoriju. Path () šeit izmanto tikai vienu argumentu: faktisko ceļu uz jauno darba direktoriju un uzdevuma izpildei izmanto metodi chdir ().

# mainīt darba direktoriju

Ceļš(new_path).chdir()

Vēlreiz pārbaudiet, vai darba direktorijs nav mainīts. Un šeit, kā redzams attēlā, darba katalogs patiešām ir mainīts!

# Pārbaudiet darba direktoriju vēlreiz

# vai tas ir mainīts?

cwd= jūs.getcwd()

drukāt('Jaunais darba direktorijs ir %s'% cwd)

Darba direktoriju maiņa ir viegls uzdevums un prasa tikai vienu metodi - chdir (ceļa) metodi. Tomēr atkarībā no tā, vai izmantojat Windows vai Linux mašīnu, jums jābūt uzmanīgam, kā ievadāt ceļu kā virkni. Nepareizi ievadot, var rasties kļūda!

Laimīgu kodēšanu!