


IOError: Bagaimana untuk menyelesaikan ralat input/output Python?
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'
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'
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'
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')
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()
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
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')
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()
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.')
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











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.

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.

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 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 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 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.

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.

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.
