PermissionError: [Errno 13] Permission denied Python
Всем доброго времени суток, на win 11 столкнулся с проблемой что при редактировании файла hosts выскакивает ошибка PermissionError: [Errno 13] Permission denied: ‘C:\\Windows\\System32\\drivers\\etc\\hosts’ Пробовал использовать ctypes.windll.shell32.ShellExecuteW(None, «runas», sys.executable, __file__, None, 1) Винда спрашивает запустить ли этот файл от имени администратора, нажимаю да, но ошибка повторяется Вот код:
import ctypes import sys import psutil import customtkinter import keyboard from customtkinter import * #Переменные blocked_sites = ['www.google.com', 'www.yandex.ru', 'google.com', 'yandex.ru', 'yandex.com', 'www.yandex.ru', 'youtube.com', 'www.youtube.com', 'ya.ru', 'www.ya.ru', 'dzen.ru'] redirect_url = 'https://ilian445.tb.ru/page3' hosts=r'C:\Windows\System32\drivers\etc\hosts' #DEFs #Блокировка def block(): #Блокируют клавишы, указанные в ковычках keyboard.add_hotkey("alt + f4", lambda: None, suppress =True) keyboard.add_hotkey("ctrl+shift+esc", lambda: None, suppress =True) keyboard.add_hotkey("ctrl+alt+del", lambda: None, suppress =True) keyboard.add_hotkey("win+d", lambda: None, suppress =True) keyboard.add_hotkey("win+m", lambda: None, suppress =True) #Блокировка сайтов with open(hosts, 'r+') as file: src= file.read() for site in blocked_sites: if site in src: pass else: file.write(f"(redirect_url) (site)\n") #Авторизация def login(): #Разблокировка сайтов with open(hosts, 'r+') as file: src= file.readlines() file.seek(0) for line in src: if not any(site in line for site in blocked_sites): file.write(line) file.truncate() #Гостевой режим def guest(): print('Login with guest') #Main def #Проверка запуска от имени администратора #if ctypes.windll.shell32.IsUserAnAdmin(): if __name__ == "__main__": main() #else: # ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1) #Настраиваем окно авторизации customtkinter.set_default_color_theme("green") app = customtkinter.CTk() app.wm_attributes("-topmost", 1) app.resizable(width=False, height=False) app.overrideredirect(1) app.geometry("300x420+500+200") #Рендерим виджеты в окне авторизации frame_main_page = CTkFrame(app) password_entry = customtkinter.CTkEntry(app, placeholder_text="Введите пароль") login_button = customtkinter.CTkButton(frame_main_page, text="Войти", command=login) guest_button = customtkinter.CTkButton(frame_main_page, text="Гостевой режим", command=guest) password_entry.pack(expand=1) frame_main_page.pack(expand=1) guest_button.pack(expand=1) login_button.pack(expand=1, pady=2) #Запускаем окно авторизации block() app.mainloop()
Почему PermissionError: [Errno 13] Permission denied на хостинге?
При тестировании на локальном сервере все происходит корректно, на сайте есть форма, где есть несколько полей с возможностью прикрепить файл(png,jpg), записи с поля переносятся в db sqlite, которая лежит внутри директории, но при сохранении файла-изображения в логах выдается ошибка PermissionError: [Errno 13] Permission denied, в чем может быть проблема?
try: image.save(os.path.join(rf"app/static/images/goods/", filenameGood)) imagePage.save(os.path.join(rf"app/static/images/goods/", filenameGoodPage)) except: os.makedirs(rf"app/static/images/goods/") image.save(os.path.join(rf"app/static/images/goods/", filenameGood)) imagePage.save(os.path.join(rf"app/static/images/goods/", filenameGoodPage))
вот сами строчки на которые ругается хостинг, я думал проблема в пути и решил просто сохранить изображение сразу в корень, без папок, но ошибка все та же
Traceback (most recent call last): File "/home/c/myhost/public_html/index.wsgi", line 182, in createGood image.save(filenameGood) File "/home/c/myhost/public_html/venv/lib/python3.6/site-packages/werkzeug/datastructures.py", line 3021, in save dst = open(dst, "wb") PermissionError: [Errno 13] Permission denied: 'd0f2831a-2e6d-11ed-8d2c-3cecef0d9b4c.png'
я думал что ошибка в htaccess, но ничего не нашел про это
- Вопрос задан более года назад
- 2366 просмотров
Python permission denied
при запуске скрипта «как исполняемого» ./test.py Выводит:
Bash: ./test.py: /usr/bin: bad interpriter: Permission denied
sudo ./test.py
sudo: unable to execute ./test.py: Permission denied
Права доступа к файлу: -rwxrwxrwx
Вопрос: что я делаю не так?
chulavek
04.04.19 00:07:03 MSK
Чего? Это кто? Я знаю только таких:
#!/usr/bin/python
Deleted
( 04.04.19 00:09:48 MSK )

thunar ★★★★★
( 04.04.19 00:10:10 MSK )
Последнее исправление: thunar 04.04.19 00:10:38 MSK (всего исправлений: 1)
Пиши либо /usr/bin/python либо /usr/bin/env python
Reineke
( 04.04.19 00:10:40 MSK )
Ответ на: комментарий от Deleted 04.04.19 00:09:48 MSK
#!/usr/bin/python
Исправил, ошибка следующая:
bash: ./test.py: /usr/bin/python^M: bad interpriter: No such file or directory
/usr/bin/env: 'python\r': No such file or directory
chulavek
( 04.04.19 00:18:06 MSK ) автор топика
Ответ на: #!/usr/bin/python от chulavek 04.04.19 00:18:06 MSK
Так ты ещё и под offtop-ом. Ну так хоть notepad++ поставь для приличия. Он тебе разъяснит, где ты неправ.
Deleted
( 04.04.19 00:20:50 MSK )
/usr/bin: bad interpriter: Permission denied
/usr/bin — это папка, она не может быть выполнена, об этом система тебе и сообщает. права доступа к твоему скрипту тут ни при чём.
по второй ошибке: перевод строки в линуксе — это символ с кодом 10, а не 13, как у тебя (в венде), который воспринимается ядром как продолжение имени интерпретатора вместо конца строки.
anonymous
( 04.04.19 01:37:14 MSK )
Ответ на: комментарий от Deleted 04.04.19 00:20:50 MSK
Судя по тегам он не под оффтопом, просто файл создан там каким-то клоуном, который где-то читал о шебанге. Оп, тебе надо перекодировать концы строк в исходнике с dos на unix — либо редактором, который это умеет, либо в командной строке через dos2unix (iirc).
Python ошибка permission error errno 13
Хочу создать файл в python, и возвращает ошибку: PermissionError: [Errno 13] Permission denied: ‘C:/doroga/k/papke’. Как исправить эту ошибку ТОЛЬКО с помощью кода python?
Лучший ответ
Только с помощью кода python ты не исправишь
Миша ПетровУченик (149) 2 года назад
ладно, а как тогда другим способом?
Nieren Искусственный Интеллект (203293) Руками выдать права либо запускать от админа
Остальные ответы
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.