Cara Dapatkan Direktori Kerja Semasa di Python

How Get Current Working Directory Python



Nama fail atau folder boleh digunakan dengan jalur penuh atau hanya menyebut nama fail atau folder hanya untuk menggunakannya dalam skrip. Laluan penuh fail atau folder dari direktori root ditentukan oleh jalan mutlak. Apabila nama fail digunakan tanpa nama jalan dalam skrip, maka Direktori Kerja Semasa dianggap sebagai nama jalan fail dan disebut jalan relatif. Di Python, Direktori Kerja Semasa ditetapkan ke lokasi direktori dari mana skrip python dijalankan. Banyak modul ada di python untuk mendapatkan Direktori Kerja Semasa. Kaedah untuk mendapatkan Direktori Kerja Semasa dengan menggunakan modul yang berbeza di Python telah ditunjukkan dalam tutorial ini.

Contoh-1: Menggunakan modul pathlib untuk mendapatkan Direktori Kerja Semasa

Kelas laluan dari modul pathlib digunakan untuk membaca direktori kerja skrip pelaksanaan sekarang. Buat skrip python dengan kod berikut untuk membaca dan mencetak direktori kerja semasa menggunakan modul pathlib. The kaedah cwd () dari kelas Path digunakan untuk mencetak direktori kerja semasa dari mana skrip dijalankan.







# Import Path dari modul pathlib

darijalan rayamengimportJalan

# Ambil jalan direktori kerja semasa

_direktori_kerja semasa=Jalan.cwd()

# Cetak lokasi direktori kerja semasa

mencetak('Lokasi direktori kerja semasa adalah:')

mencetak(_direktori_kerja semasa)

Pengeluaran:

Output berikut akan muncul setelah melaksanakan skrip di atas. Di sini, jalan dari direktori kerja semasa tanpa nama skrip telah ditunjukkan dalam output.





Contoh-2: Menggunakan normpath () dan abspath () untuk mendapatkan Direktori Kerja Semasa

Menggunakan modul os adalah cara lain untuk mendapatkan direktori kerja semasa. Kaedah yang berbeza ada di kelas jalur modul os untuk mengambil direktori kerja semasa. Jalan norma () dan kaedah abspath () adalah mereka berdua. Kaedah ini mengembalikan direktori kerja semasa sebagai rentetan. Buat fail python dengan skrip berikut untuk memeriksa tujuan fungsi-fungsi ini.





# Modul os import

mengimport awak

# Cetak direktori kerja semasa menggunakan fungsi normpath ()

mencetak('Direktori kerja semasa (menggunakan normpath ()) adalah:')

mencetak(awak.jalan.nama panggilan(awak.jalan.jalan norma(__file__)))

# Cetak direktori kerja semasa menggunakan fungsi abspath ()

mencetak(' nDirektori kerja semasa (menggunakan abspath ()) adalah: ')

mencetak(awak.jalan.abspath('.'))

Pengeluaran:

Output berikut akan muncul setelah melaksanakan skrip di atas. Di sini, jalan dari direktori kerja semasa tanpa nama skrip telah ditunjukkan dalam output.



Contoh-3: Menggunakan jalan nyata () untuk mendapatkan Direktori Kerja Semasa

The jalan sebenar () adalah kaedah lain untuk mendapatkan direktori kerja semasa. Buat fail python dengan skrip berikut untuk mencetak direktori kerja terkini dengan nama skrip dengan menggunakan kaedah realpath () . Dalam skrip, ia memerlukan __file__ sebagai nilai argumen yang mengandungi nama laluan fail di mana modul os diimport.

# Modul os import

mengimport awak

# Baca direktori kerja semasa menggunakan fungsi realpath ()

jalan_ sebenar= awak.jalan.jalan sebenar(__file__)

# Cetak direktori kerja semasa dengan nama skrip

mencetak(' nDirektori kerja semasa dengan nama skrip adalah: ')

mencetak(jalan_ sebenar)

Pengeluaran:

Output berikut akan muncul setelah melaksanakan skrip di atas. Di sini, jalan dari direktori kerja semasa dengan nama skrip telah ditunjukkan dalam output.

Contoh-4: Menggunakan getcwd () untuk mendapatkan Direktori Kerja Semasa

Menggunakan fungsi getcwd () modul os adalah kaedah paling mudah untuk mendapatkan direktori kerja skrip yang sedang dijalankan. Ia tidak mengandungi argumen dan mengembalikan CWD sebagai rentetan. Buat fail python dengan skrip berikut untuk memeriksa penggunaan fungsi getcwd () . Direktori kerja semasa dicetak pada awal skrip. Seterusnya, jalan direktori semasa diubah dengan menggunakan fungsi chdir () . The arahan getcwd () dipanggil lagi setelah menukar direktori.

# Modul os import

mengimport awak

# Cetak direktori kerja semasa menggunakan fungsi getcwd ()

mencetak('Direktori kerja semasa adalah: n', awak.getcwd())

# Tukar direktori kerja semasa

awak.chdir('/ etc / mel')

# Cetak direktori kerja semasa selepas perubahan

mencetak(' nDirektori kerja semasa selepas perubahan adalah: n', awak.getcwd())

Pengeluaran:

Output berikut akan muncul setelah melaksanakan skrip di atas. Di sini, jalan direktori semasa yang berfungsi tanpa nama skrip telah dicetak sebelum menukar direktori. Seterusnya, jalan direktori yang telah berubah telah dicetak.

Contoh-5: Menggunakan getcwd () dengan try-kecuali untuk mendapatkan Direktori Kerja Semasa

Buat fail python dengan skrip berikut untuk mengubah direktori kerja semasa berdasarkan nilai input dan menangani pelbagai jenis kesalahan. Tiga jenis kesalahan dapat ditangani dengan melaksanakan skrip. The Ralat FileNotFoundError akan dihasilkan sekiranya jalan yang diambil dari input tidak ada. The Kesalahan NotADirectoryError akan dihasilkan sekiranya jalan yang diambil dari input bukan direktori. The Ralat PermissionError akan dihasilkan sekiranya jalan yang diambil dari input tidak dapat diakses.

# Import modul os

mengimport awak

# Masukkan jalan direktori

cwd= input('Masukkan jalan direktori kerja semasa: n')


cuba:

# Tukar direktori kerja semasa

awak.chdir(cwd)

# Cetak direktori kerja semasa menggunakan fungsi getcwd ()

mencetak('Direktori kerja semasa adalah: n', awak.getcwd())

# Naikkan ralat jika direktori tidak ada

kecualiKesalahan FailNotFound:

mencetak('Direktori tidak ada.')

# Naikkan ralat jika jalur input bukan direktori

kecualiRalat NotADirectory:

mencetak('% s bukan direktori'%(cwd))

# Naikkan ralat jika direktori tidak dapat diakses

kecualiKesalahan Kebenaran:

mencetak('Kebenaran ditolak untuk mengubah direktori.')

Pengeluaran:

Output berikut akan muncul setelah melaksanakan skrip di atas jika jalan ada. Di sini, jalan input yang diambil ada, dan direktori kerja yang berubah telah dicetak dalam output.


Output berikut akan muncul setelah menjalankan skrip di atas jika jalan tidak ada.


Output berikut akan muncul setelah menjalankan skrip di atas jika jalan yang diambil tidak dapat diakses.

Kesimpulan:

Penggunaan modul pathlib dan os untuk membaca direktori kerja semasa ditunjukkan dalam tutorial ini dengan menggunakan contoh yang berbeza. Cara untuk mendapatkan semula direktori kerja semasa setelah mengubah direktori kerja berdasarkan input pengguna juga telah ditunjukkan dalam tutorial ini.