Kuidas muuta Pythonis töökataloogi

How Change Working Directory Python



Töökataloog on praegune kataloog, milles me töötame ja millest skript käivitatakse; Selles kataloogis on meil juurdepääs paljudele failidele (neile, mis selles asuvad). Kuid mõnikord peame katalooge muutma ning failide ja kaustade vahel edasi -tagasi liikuma. Selles õpetuses õpime, kuidas muuta Pythoni töökataloogi.

OS MOODUL

Selle saavutamiseks vajame esiteks Pythonis os -moodulit. Kuna see on eelinstallitud, pole vaja midagi installida. OS -moodulit kasutatakse tavaliselt Pythonis, et suhelda, hallata ja muuta süsteemis olevaid faile ja kaustu. Näiteks saame luua/eemaldada katalooge, muuta töökatalooge, läbivaatusfaile, kontrollida, kas failid on olemas jne ... Ütlematagi selge, et see on väga kasulik moodul.







Praeguse töökataloogi hankimine

Praeguse töökataloogi saamiseks kasutame getcwd () meetod os moodulist. Pange tähele, et ühtegi argumenti ei esitata. Minu puhul oli väljund /home/kalyani/PycharmProjects/pythonProject1 Ubuntu masinal (töötab PyCharm). See tähendab, et peamine skript - main.py - asub selles kaustas (pythonProject1). Ja pange tähele, töökataloog, ennekõike kaust!



import sina

# Hankige praegune töökataloog

praegune_kataloog= sina.getcwd()

printida('Teie praegune töökataloog on %s'% current_directory)



Praeguse töökataloogi muutmine

Töökataloogi muutmine on lihtne meetodiga chdir (), mis võtab täpselt ühe argumendi - tee uude asukohta stringina.





import sina

# Hankige praegune töökataloog

praegune_kataloog= sina.getcwd()

printida('Teie praegune töökataloog on %s'% current_directory)

Esimene asi, mida teha, on määrata töökataloogi uus tee. Ubuntu puhul on see väga lihtne!

# seadistame uue töökataloogi

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

Windowsis peate kataloogi määratlemiseks kasutama topelt tagasilööke.



#new_working_directory = 'C: Users \ never \ Desktop \ PythonDirectory'

Järgmisena määratleme proovivälise klausli. Kui tee on olemas, kasutame meetodit chdir (), et muuta töökataloog uueks töökataloogiks. Kui tee pole kataloog, annab see vea!

proovige:

sina.chdir(new_working_directory)

printida('Töökataloogi on muudetud!')

printida('WD: %s'%sina.getcwd())


välja arvatudNotADirectoryViga:

printida('Te pole kataloogi valinud.')


välja arvatudFileNotFoundError:

printida('Kausta ei leitud. Tee on vale. ')


välja arvatudViga:

printida('Teil pole sellele kaustale/failile juurdepääsu.')

Kogu kood näeks välja selline:

import sina

# Hankige praegune töökataloog

praegune_kataloog= sina.getcwd()

printida('Teie praegune töökataloog on %s'% current_directory)

# seadistame uue töökataloogi

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

new_working_directory=r'C: Userveerima nkunagi Dtöölaud PythonDirectory '

proovige:

sina.chdir(new_working_directory)

printida('Töökataloogi on muudetud!')

printida('WD: %s'%sina.getcwd())


välja arvatudNotADirectoryViga:

printida('Te pole kataloogi valinud.')


välja arvatudFileNotFoundError:

printida('Kausta ei leitud. Tee on vale. ')


välja arvatudViga:

printida('Teil pole sellele kaustale/failile juurdepääsu.')

Tegelikult võivad vead põhjustada mitmesuguseid erandeid:

i. NotADirectoryViga:

Oletame nüüd näiteks, et kirjutasin tee või uue töökataloogi jaoks järgmise koodi:

new_working_directory= 'C:\Kasutajad\mitte kunagi\Töölaud\PythonDirectory\text.txt '

Siin saate märkida, et osutan tee tekstidokumendile nimega text.txt. Ja viimane viskab vea, mida tuntakse kui NotADirectoryError. Teisisõnu, teie tee peab viitama mingile kataloogile.

ii. FileNotFoundError:

FileNotFoundError visatakse, kui teed pole olemas. Niisiis, oletame hetkeks, et mul pole töölaual kataloogi nimega PythonDirectory ja et ma seadsin oma tee:

new_working_directory= 'C: Userveerima nkunagi Dtöölaud PythonDirectory '

See viskab a FileNotFoundError . See viga tähendab lihtsalt seda, et kataloogi, millele osutame, pole olemas või seda ei leitud.

iii. Viga:

TO LubaViga tõuseb, kui kasutajal pole piisavaid õigusi valitud kataloogi muutmiseks või sellele juurdepääsuks.

iv. Süntaksi viga:

Süntaksiviga ilmneb siis, kui teel on süntaksiviga. Kui kirjutame Windowsis, et öelda:

new_working_directory= 'C: Userveerima nkunagi Dtöölaud PythonDirectory '

Tekib süntaksi viga! Süntaksiviga on aga palju raskem tabada, kuna seda tuleb hinnata, importida või käivitada. Sellisena, kui kirjutame prooviväliseid plokke, on sellist viga raskem tabada.

Windowsis saab vigade vältimiseks tee välja kirjutada ühel kolmest erinevast viisist, nii et vigu ei visataks:

1. meetod: selle meetodi puhul lisame enne stringi määramist r.

new_working_directory=r'C: Userveerima nkunagi Dtöölaud PythonDirectory '

2. meetod: kasutame kahekordset tagasilööki.

new_working_directory= 'C:\Kasutajad\mitte kunagi\Töölaud\PythonDirectory '

3. meetod: kasutame ühte kaldkriipsu.

new_working_directory= 'C:/Kasutajad/mitte kunagi/Töölaud/PythonDirectory'

RADAMOODUL

Töökataloogi saame muuta ka tee mooduli abil. Esiteks installige tee järgmiselt (olen andnud ka lingi moodulile):

pip paigaldamise tee

(https: // pypi.org/projekt/tee/)

Järgmisena kirjutame:

alatesteeimportTee

import sina

Esiteks kontrollime praegust töökataloogi os -mooduli ja meetodi getcwd () abil.

# kontrollime praegust töökataloogi

cwd= sina.getcwd()

printida('Praegune töökataloog on: %s'% cwd)

printida('--------------------------------------------' ')

Seejärel määrake uue töökataloogi tee. Sel juhul olen valinud eeskuju näitamise Windowsi masinas:

# määrake tee uuele töökataloogile

new_path= 'C:\Kasutajad\mitte kunagi\Töölaud\PythonDirectory '

Töökataloogi muutmiseks kasutage teed (). Path () kasutab siin ainult ühte argumenti: tegelikku teed uude töökataloogi ja kasutab ülesande täitmiseks meetodit chdir ().

# muuta töökataloogi

Tee(new_path).chdir()

Kontrollige uuesti, kas töökataloogi on muudetud. Ja siin, nagu pildilt näha, on töökataloogi tõepoolest muudetud!

# Kontrollige töökataloogi uuesti

# kas seda on muudetud?

cwd= sina.getcwd()

printida('Uus töökataloog on %s'% cwd)

Töökataloogide muutmine on lihtne ülesanne ja võtab vaid ühe meetodi - chdir (tee) meetodi. Sõltuvalt sellest, kas kasutate Windowsi või Linuxi masinat, peate siiski olema ettevaatlik, kuidas sisestada tee stringina. Kui sisestate valesti, võib see põhjustada tõrke!

Head kodeerimist!