Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengubah Direktori Kerja Semasa dalam Python?

Bagaimanakah Saya Boleh Mengubah Direktori Kerja Semasa dalam Python?

Patricia Arquette
Patricia Arquetteasal
2024-12-13 13:36:10188semak imbas

How Can I Change the Current Working Directory in Python?

Python Equivalent of Shell 'cd' Command

Dalam shell Unix, arahan 'cd' membenarkan pengguna menavigasi sistem fail dengan menukar direktori kerja semasa. Dalam Python, terdapat cara yang sama untuk mencapai ini menggunakan modul 'os'.

Menukar Direktori Kerja Semasa

Untuk menukar direktori kerja semasa dalam Python, anda boleh menggunakan kod berikut:

import os

os.chdir(path)

di mana 'path' ialah direktori baharu yang anda mahu tetapkan sebagai kerja semasa direktori.

Awas dan Alternatif

Berhati-hati apabila menukar direktori kerja semasa, kerana ini boleh membawa kepada perubahan yang tidak dijangka dalam kod anda. Selain itu, tidak disyorkan untuk menangkap pengecualian seperti WindowsError atau OSError selepas menukar direktori, kerana ini boleh mengakibatkan perubahan yang tidak diingini.

Jika anda menggunakan Python 3.11 atau lebih baru, anda boleh menggunakan pengurus konteks untuk memastikan anda kembali ke direktori kerja asal sebaik sahaja anda selesai:

import os

with os.chdir(path):
    # Code

Untuk versi Python yang lebih lama, anda boleh mencipta pengurus konteks anda sendiri seperti yang ditunjukkan dalam jawapan Brian M. Hunt.

Nota

Menukar direktori kerja semasa dalam subproses tidak menjejaskan direktori kerja semasa proses induk. Ini terpakai kepada penterjemah Python juga. Anda tidak boleh menggunakan os.chdir() untuk mengubah suai CWD proses panggilan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Direktori Kerja Semasa dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn