Cara Menukar Direktori Kerja di Python

How Change Working Directory Python



Direktori berfungsi adalah direktori semasa di mana kita bekerja dan dari mana skrip dijalankan; di dalam direktori ini, kami mempunyai akses ke banyak fail (yang terdapat di dalamnya). Walau bagaimanapun, kita kadang-kadang perlu menukar direktori dan pergi antara fail dan folder. Dalam tutorial ini, kita akan belajar bagaimana mengubah direktori kerja di Python.

MODUL OS

Pertama, untuk mencapai ini, kita memerlukan modul os di Python. Oleh kerana ia sudah dipasang sebelumnya, tidak perlu memasang apa-apa. Modul OS biasanya digunakan di Python untuk berinteraksi, mengurus dan mengubah fail dan folder pada sistem. Sebagai contoh, kita boleh membuat / membuang direktori, menukar direktori yang berfungsi, fail panduan, memeriksa sama ada fail ada, dan lain-lain ... Tidak perlu dikatakan bahawa ia adalah modul yang sangat berguna.







Mendapatkan direktori kerja semasa

Untuk mendapatkan direktori kerja semasa, kami menggunakan kaedah getcwd () dari modul os. Harap maklum di sini bahawa tidak ada hujah yang diluluskan. Dalam kes saya, outputnya adalah / rumah / kalyani / PycharmProjects / pythonProject1 pada mesin Ubuntu (menjalankan PyCharm). Ini bermaksud skrip utama - main.py - terletak di dalam folder ini (pythonProject1). Dan ingatlah, direktori yang berfungsi, pertama dan paling utama folder!



mengimport awak

# Dapatkan direktori kerja semasa

semasa_direktori= awak.getcwd()

mencetak('Direktori kerja semasa anda adalah% s'% semasa_direktori)



Menukar direktori kerja semasa

Mengubah direktori kerja anda mudah dengan kaedah chdir (), yang memerlukan satu argumen - jalan ke lokasi baru sebagai rentetan.





mengimport awak

# Dapatkan direktori kerja semasa

semasa_direktori= awak.getcwd()

mencetak('Direktori kerja semasa anda adalah% s'% semasa_direktori)

Perkara pertama yang perlu dilakukan adalah menetapkan jalan baru ke direktori kerja. Di Ubuntu, ini sangat mudah!

# mari kita buat direktori kerja baru

baru_pekerjaan_direktori= '/ rumah / kalyani / Desktop / PythonDirectory'

Pada Windows, anda perlu menggunakan garis miring terbalik dua kali untuk menentukan direktori.



#new_working_directory = 'C: \ Pengguna \ tidak pernah \ Desktop \ PythonDirectory'

Seterusnya, kami menentukan klausa try-kecuali. Sekiranya jalan ada, kita akan menggunakan kaedah chdir () untuk mengubah direktori kerja ke direktori kerja baru. Sekiranya jalan itu bukan direktori, ia akan menyebabkan kesalahan!

cuba:

awak.chdir(baru_pekerjaan_direktori)

mencetak('Direktori kerja telah diubah!')

mencetak('WD:% s'%awak.getcwd())


kecualiRalat NotADirectory:

mencetak('Anda belum memilih direktori.')


kecualiKesalahan FailNotFound:

mencetak(Folder tidak dijumpai. Jalannya tidak betul. ')


kecualiKesalahan Kebenaran:

mencetak('Anda tidak mempunyai akses ke folder / fail ini.')

Kod penuh akan kelihatan seperti ini:

mengimport awak

# Dapatkan direktori kerja semasa

semasa_direktori= awak.getcwd()

mencetak('Direktori kerja semasa anda adalah% s'% semasa_direktori)

# mari kita buat direktori kerja baru

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

baru_pekerjaan_direktori=r'C:Uhidang npernah Ddesktop PythonDirektori '

cuba:

awak.chdir(baru_pekerjaan_direktori)

mencetak('Direktori kerja telah diubah!')

mencetak('WD:% s'%awak.getcwd())


kecualiRalat NotADirectory:

mencetak('Anda belum memilih direktori.')


kecualiKesalahan FailNotFound:

mencetak(Folder tidak dijumpai. Jalannya tidak betul. ')


kecualiKesalahan Kebenaran:

mencetak('Anda tidak mempunyai akses ke folder / fail ini.')

Sebenarnya, kesalahan mungkin menimbulkan pelbagai jenis pengecualian:

i. Ralat NotADirectory:

Sekarang anggap sebagai contoh bahawa saya menulis kod berikut untuk jalan atau direktori kerja baru:

baru_pekerjaan_direktori= 'C:\Pengguna\tidak pernah\Desktop\Direktori Python\teks.txt '

Yang dapat anda perhatikan di sini ialah saya menunjukkan jalan ke dokumen teks yang disebut text.txt. Dan yang terakhir akan membuang kesalahan yang dikenali sebagai NotADirectoryError. Dengan kata lain, jalan anda mesti menunjuk ke direktori semacam.

ii. Kesalahan FailNotFound:

FileNotFoundError dilemparkan apabila jalan tidak ada. Oleh itu, anggaplah buat masa ini saya tidak mempunyai direktori dengan nama PythonDirectory di Desktop saya dan saya menetapkan jalan ke:

baru_pekerjaan_direktori= 'C:Uhidang npernah Ddesktop PythonDirektori '

Ia akan membuang a Ralat FileNotFound . Kesalahan ini bermaksud bahawa direktori yang kami tunjuk tidak ada atau tidak dijumpai.

iii. Kesalahan Kebenaran:

KE Kesalahan Izin dinaikkan apabila pengguna tidak memiliki izin yang mencukupi untuk mengubah atau mengakses direktori yang dipilih.

iv. Kesalahan Sintaks:

Ralat sintaks berlaku apabila terdapat ralat sintaks di lintasan. Pada Windows, jika kita menulis dengan mengatakan:

baru_pekerjaan_direktori= 'C:Uhidang npernah Ddesktop PythonDirektori '

Ralat synthax dilemparkan! Walau bagaimanapun, kesalahan sintaks jauh lebih sukar untuk ditangani kerana ia perlu dinilai, diimport, atau dilaksanakan. Oleh itu, semasa kita menulis blok kecuali percubaan, lebih sukar untuk mengesan kesalahan seperti itu.

Di Windows, untuk mengelakkan sebarang kesalahan, jalan dapat ditulis dengan salah satu dari tiga cara yang berbeza sehingga tidak ada kesalahan yang dilemparkan:

Kaedah 1: Dalam kaedah ini, kita menambahkan r sebelum menetapkan rentetan.

baru_pekerjaan_direktori=r'C:Uhidang npernah Ddesktop PythonDirektori '

Kaedah 2: Kami menggunakan garis miring balik berganda.

baru_pekerjaan_direktori= 'C:\Pengguna\tidak pernah\Desktop\Direktori Python '

Kaedah 3: Kami menggunakan garis miring ke depan tunggal.

baru_pekerjaan_direktori= 'C: / Pengguna / tidak pernah / Desktop / PythonDirectory'

MODUL PATH

Kita juga boleh mengubah direktori kerja menggunakan modul jalan. Pertama, pasang jalan seperti berikut (saya juga telah memberikan pautan ke modul):

jalan pemasangan pip

(https: // pypi.org/ projek / jalan /)

Seterusnya, kami menulis:

darijalanmengimportJalan

mengimport awak

Pertama, mari kita periksa direktori kerja semasa menggunakan modul os dan kaedah getcwd ().

# mari kita periksa direktori kerja semasa

cwd= awak.getcwd()

mencetak('Direktori kerja semasa adalah:% s'% cwd)

mencetak('---------------------------------------------')

Seterusnya, tetapkan jalan ke direktori kerja baru. Dalam kes ini, saya telah memilih untuk memberi contoh pada mesin Windows:

# tetapkan jalan ke direktori kerja baru

jalan_ baru= 'C:\Pengguna\tidak pernah\Desktop\Direktori Python '

Gunakan Path () untuk menukar direktori yang berfungsi. Path () hanya mengambil satu argumen di sini: jalan sebenarnya ke direktori kerja baru dan menggunakan kaedah chdir () untuk menyelesaikan tugas.

# ubah direktori yang berfungsi

Jalan(jalan_ baru).chdir()

Periksa semula jika direktori kerja telah diubah. Dan di sini, seperti yang anda lihat dalam gambar, direktori kerja memang telah diubah!

# Semak semula direktori yang berfungsi

# adakah ia telah diubah?

cwd= awak.getcwd()

mencetak('Direktori kerja baru adalah% s'% cwd)

Menukar direktori kerja adalah tugas yang mudah dan memerlukan tetapi satu kaedah - kaedah chdir (jalan). Namun, bergantung pada sama ada anda menggunakan mesin Windows atau mesin Linux, anda harus berhati-hati tentang bagaimana anda memasukkan jalan sebagai rentetan. Sekiranya tidak dimasukkan dengan betul, ia boleh menyebabkan kesalahan!

Selamat Pengkodan!