Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Adakah `open()` dalam Python Membuang `FileNotFoundError`, dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Adakah `open()` dalam Python Membuang `FileNotFoundError`, dan Bagaimana Saya Boleh Membetulkannya?

Patricia Arquette
Patricia Arquetteasal
2025-01-04 03:22:39320semak imbas

Why Does `open()` in Python Throw a `FileNotFoundError`, and How Can I Fix It?

Menyelesaikan "open() memberikan FileNotFoundError / IOError" untuk Fail Tiada

Apabila cuba memuatkan fail menggunakan fungsi open() dalam Python, anda mungkin menghadapi " Ralat FileNotFoundError / IOError" dengan mesej "[Errno 2] Tiada fail atau direktori." Ralat ini menandakan ketidakupayaan skrip untuk mengesan fail yang ditentukan.

Untuk menyelidiki punca, adalah penting untuk memahami cara Python mencari fail:

  • Laluan mutlak : Bermula dengan direktori akar komputer, seperti 'C:Pythonscripts' dalam Windows.
  • Laluan relatif: Tidak bermula dengan direktori akar dan adalah relatif kepada "direktori kerja."

Apabila menggunakan open('recentlyUpdated. yaml'), Python menganggap laluan relatif dan mencari dalam direktori kerja semasa. Untuk mendiagnosis isu:

  • Sahkan kewujudan fail: Gunakan os.listdir() untuk menyenaraikan fail dalam direktori kerja semasa dan pastikan fail dengan sambungan yang betul wujud.
  • Sahkan direktori semasa: Gunakan os.getcwd() untuk mengesahkan direktori yang dijangkakan, semasa kod dilancarkan daripada IDE mungkin mempunyai direktori kerja yang berbeza.

Resolusi:

  1. Tukar direktori kerja semasa: Gunakan os.chdir(dir) untuk menavigasi ke direktori yang mengandungi fail, kemudian buka dengan open("file.txt").
  2. Sediakan laluan mutlak: Tentukan laluan lengkap ke fail dalam panggilan terbuka, seperti open(r'C:Folderfile.txt') .

Nota:

  • Gunakan rentetan mentah (r"") untuk laluan dengan garis miring ke belakang, cth., r'C:Python32'.
  • Forward-slashes berfungsi pada Windows 'C:/Python32' dan tidak memerlukan melarikan diri.
  • Contoh: Andaikan file.txt terdapat dalam C:Folder, anda boleh membukanya sebagai:

    • os.chdir(r'C:Folder')
      open('file.txt') # relative path
    • open(r'C:Folderfile. txt') # laluan mutlak

Atas ialah kandungan terperinci Mengapa Adakah `open()` dalam Python Membuang `FileNotFoundError`, dan Bagaimana Saya Boleh Membetulkannya?. 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