Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Membetulkan \'PermissionError: [Errno 13] Kebenaran dinafikan\' Semasa Memuat Turun Fail dalam Python?

Bagaimana untuk Membetulkan \'PermissionError: [Errno 13] Kebenaran dinafikan\' Semasa Memuat Turun Fail dalam Python?

Susan Sarandon
Lepaskan: 2024-11-30 20:47:13
asal
187 orang telah melayarinya

How to Fix the

Kebenaran Ditolak: Menyelesaikan Ralat "Errno 13" dalam Pengendalian Fail Python

Apabila bekerja dengan fail dalam Python, anda mungkin menghadapi " PermissionError: [Errno 13] Kebenaran ditolak" pengecualian. Ini berlaku apabila anda cuba mengakses atau mengubah suai fail yang akaun pengguna semasa anda tidak mempunyai kebenaran yang diperlukan.

Dalam kes khusus yang anda nyatakan, anda cuba memuat turun fail menggunakan fungsi open(), tetapi menerima "PermissionError." Ini kerana anda menyediakan fungsi dengan laluan fail yang merupakan folder, bukannya fail tertentu.

Untuk menyelesaikan isu ini, anda perlu memastikan pembolehubah place_to_save menghala ke laluan fail yang sah. Anda boleh melakukannya dengan menggunakan fungsi isfile() untuk mengesahkan bahawa laluan itu merujuk kepada fail, bukannya folder.

Berikut ialah versi terkini kod anda yang merangkumi semakan yang diperlukan:

import os

def download():
    # get selected line index
    index = films_list.curselection()[0]
    # get the line's text
    selected_text = films_list.get(index)
    directory = filedialog.askdirectory(parent=root, 
                                        title="Choose where to save your movie")
    place_to_save = directory + '/' + selected_text
    
    # Verify that the path points to a file
    if not os.path.isfile(place_to_save):
        raise PermissionError("Permission denied: {}".format(place_to_save))
    
    with open(place_to_save, 'wb') as file:
        connect.retrbinary('RETR ' + selected_text, file.write)
    tk.messagebox.showwarning('File downloaded', 
                              'Your movie has been successfully downloaded!' 
                              '\nAnd saved where you asked us to save it!!')
Salin selepas log masuk

Dengan menambahkan semakan ini, anda boleh menghalang "PermissionError" daripada berlaku dengan memastikan anda sentiasa bekerja dengan laluan fail yang sah.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan \'PermissionError: [Errno 13] Kebenaran dinafikan\' Semasa Memuat Turun Fail dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan