Jadual Kandungan
Jenis IOerror
1. FileNotFoundError
2 PermissionError
3 IOError
4. OSError
Kaedah untuk Menyelesaikan IOErrors
1. Cari laluan fail dan ralat input nama fail
2 Sahkan bahawa pemegang fail ditutup
3. Sahkan kebenaran akses fail
4 Sahkan bahawa fail itu sudah wujud
5. Mengendalikan Pengecualian
6. Gunakan modul os.path
Kesimpulan
Rumah pembangunan bahagian belakang Tutorial Python IOError: Bagaimana untuk menyelesaikan ralat input/output Python?

IOError: Bagaimana untuk menyelesaikan ralat input/output Python?

Jun 24, 2023 pm 07:04 PM
python ioerror input/output

Python ialah bahasa pengaturcaraan popular yang digunakan secara meluas untuk pemprosesan dan analisis data yang sangat maju, dan ralat input/output (IOError) adalah salah satu ralat program Python yang biasa. Apabila program Python cuba melakukan operasi seperti membaca atau menulis fail, IOError dibangkitkan jika masalah berkaitan input/output berlaku. Walau bagaimanapun, ralat ini boleh berlaku walaupun anda mengikuti langkah pengendalian fail yang betul. Artikel ini akan meneroka cara menyelesaikan ralat input/output Python.

Jenis IOerror

Terdapat banyak jenis ralat berkaitan input/output dalam Python, yang paling biasa ialah tiga yang berikut.

1. FileNotFoundError

FileNotFoundError dibangkitkan apabila Python cuba membuka fail tetapi tidak menemui fail itu. Ini biasanya disebabkan oleh laluan fail yang salah, nama fail atau sambungan fail yang salah, fail tidak wujud dan isu hak akses.

Contohnya:

>>> f = open('nonexistentfile.txt', 'r')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'nonexistentfile.txt'
Salin selepas log masuk

2 PermissionError

Jika Python cuba membuka fail yang tidak mempunyai kebenaran akses, pengecualian PermissionError akan dinaikkan. Ralat ini biasanya berlaku apabila cuba membaca atau menulis ke fail yang dilindungi.

Contohnya:

>>> f = open('/etc/shadow', 'r')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
PermissionError: [Errno 13] Permission denied: '/etc/shadow'
Salin selepas log masuk

3 IOError

Apabila Python tidak boleh membuka fail, membaca fail atau menulis fail, pengecualian IOError dibangkitkan. Ringkasnya, ini adalah ralat berkaitan operasi I/O. Ralat ini biasanya disebabkan oleh fail yang dialihkan atau dipadamkan.

Contohnya:

>>> f = open('testfile.txt', 'r')
[Errno 2] No such file or directory: 'testfile.txt'
Salin selepas log masuk

4. OSError

Dalam beberapa kes, Python juga akan menimbulkan pengecualian OSError, yang bermaksud ralat sistem pengendalian umum telah berlaku.

Kaedah untuk Menyelesaikan IOErrors

Sekarang kita tahu jenis IOErrors yang paling biasa dalam Python, seterusnya, kita akan meneroka kaedah tentang cara untuk menyelesaikan atau mengelakkan ralat ini.

1. Cari laluan fail dan ralat input nama fail

Apabila anda cuba membuka atau mengendalikan fail, pastikan laluan fail dan nama fail yang anda masukkan adalah betul. Laluan dan nama fail hendaklah sepadan dengan laluan fail dan nama fail sebenar. Jika anda tidak pasti, pastikan fail itu wujud dahulu.

Contohnya:

f = open('/path/to/existing/file.txt', 'r')
Salin selepas log masuk

2 Sahkan bahawa pemegang fail ditutup

Sama ada anda sedang membaca fail atau menulis fail, pastikan anda menutup pemegang fail selepas menggunakan fail. Ini membebaskan sumber sistem dan memastikan fail dimanipulasi dengan betul. Jika pemegang fail tidak ditutup dengan betul, pengecualian IOError mungkin dinaikkan.

Contoh:

with open('testfile.txt', 'w') as f:
    f.write('Hello world')
f.close()
Salin selepas log masuk

3. Sahkan kebenaran akses fail

Apabila cuba membaca atau menulis fail yang memerlukan kebenaran akses, pastikan fail telah diberikan kebenaran yang betul. Anda boleh menggunakan arahan chmod untuk menukar kebenaran fail untuk membaca dan menulis.

Contohnya:

chmod 777 myfile.txt
Salin selepas log masuk

4 Sahkan bahawa fail itu sudah wujud

Apabila Python cuba membuka direktori atau fail yang terletak dalam direktori yang tidak wujud, ia akan menimbulkan pengecualian FileNotFoundError. Sila pastikan fail dibuat dan wujud dalam laluan yang ditentukan.

Contoh:

f = open('testfile.txt', 'w')
Salin selepas log masuk

5. Mengendalikan Pengecualian

Jika pengecualian tidak dikendalikan dalam kod anda, maka apabila IOError berlaku, Python akan mengganggu pelaksanaan program dengan ralat jurubahasa. Untuk mengendalikan pengecualian dengan anggun, gunakan try kecuali untuk mengendalikan IOError dan jadikan program anda lebih mantap.

Contohnya:

try:
    f = open('testfile.txt', 'r')
except IOError:
    print('Error: file not found.')
else:
    print(f.read())
    f.close()
Salin selepas log masuk

Dalam contoh di atas, apabila fail tidak ditemui, IOError ditangkap dan dikendalikan supaya program tidak mengganggu pelaksanaan. Jika fail itu wujud, fail tersebut akan dibaca.

6. Gunakan modul os.path

Jika anda menggunakan Python 3.x, elakkan menggunakan fungsi os.path.exist() untuk melihat sama ada fail wujud. Dalam Python 3.x, apabila anda menggunakan fungsi os.path.exist(), ia masih mengembalikan True walaupun fail tidak wujud. Sebaliknya, gunakan os.path.isfile() untuk menyemak sama ada fail itu wujud.

Contoh:

import os
  
if os.path.isfile('/path/to/file.txt'):
    print('File exists.')
else:
    print('File does not exist.')
Salin selepas log masuk

Kesimpulan

Dalam artikel ini, kami mempelajari tentang jenis ralat input/output dalam Python dan penyelesaiannya. Banyak IOError biasa boleh dielakkan dengan mengikut langkah pengendalian fail yang betul, memastikan laluan fail dan nama fail ditemui dengan betul, dan mengesahkan kebenaran akses fail. Di samping itu, menggunakan try kecuali untuk mengendalikan pengecualian IOError boleh mengendalikan IOError dengan anggun dan menjadikan program lebih mantap.

Atas ialah kandungan terperinci IOError: Bagaimana untuk menyelesaikan ralat input/output Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1669
14
Tutorial PHP
1273
29
Tutorial C#
1256
24
PHP dan Python: Paradigma yang berbeza dijelaskan PHP dan Python: Paradigma yang berbeza dijelaskan Apr 18, 2025 am 12:26 AM

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

Memilih antara php dan python: panduan Memilih antara php dan python: panduan Apr 18, 2025 am 12:24 AM

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

Cara menjalankan Python Kod Sublime Cara menjalankan Python Kod Sublime Apr 16, 2025 am 08:48 AM

Untuk menjalankan kod python dalam teks luhur, anda perlu memasang plug-in python terlebih dahulu, kemudian buat fail .py dan tulis kod itu, dan akhirnya tekan Ctrl B untuk menjalankan kod, dan output akan dipaparkan dalam konsol.

PHP dan Python: menyelam mendalam ke dalam sejarah mereka PHP dan Python: menyelam mendalam ke dalam sejarah mereka Apr 18, 2025 am 12:25 AM

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

Python vs JavaScript: Keluk Pembelajaran dan Kemudahan Penggunaan Python vs JavaScript: Keluk Pembelajaran dan Kemudahan Penggunaan Apr 16, 2025 am 12:12 AM

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Golang vs Python: Prestasi dan Skala Golang vs Python: Prestasi dan Skala Apr 19, 2025 am 12:18 AM

Golang lebih baik daripada Python dari segi prestasi dan skalabiliti. 1) Ciri-ciri jenis kompilasi Golang dan model konkurensi yang cekap menjadikannya berfungsi dengan baik dalam senario konvensional yang tinggi. 2) Python, sebagai bahasa yang ditafsirkan, melaksanakan perlahan -lahan, tetapi dapat mengoptimumkan prestasi melalui alat seperti Cython.

Di mana untuk menulis kod di vscode Di mana untuk menulis kod di vscode Apr 15, 2025 pm 09:54 PM

Kod penulisan dalam Kod Visual Studio (VSCode) adalah mudah dan mudah digunakan. Hanya pasang VSCode, buat projek, pilih bahasa, buat fail, tulis kod, simpan dan jalankannya. Kelebihan vscode termasuk sumber lintas platform, bebas dan terbuka, ciri-ciri yang kuat, sambungan yang kaya, dan ringan dan cepat.

Cara menjalankan python dengan notepad Cara menjalankan python dengan notepad Apr 16, 2025 pm 07:33 PM

Running Python Code di Notepad memerlukan Python Executable dan NPPExec plug-in untuk dipasang. Selepas memasang Python dan menambahkan laluannya, konfigurasikan perintah "python" dan parameter "{current_directory} {file_name}" dalam plug-in nppexec untuk menjalankan kod python melalui kunci pintasan "f6" dalam notepad.

See all articles