поэтому у меня возникла проблема при попытке запустить этот код Python от имени администратора, поэтому я не могу получить доступ и записать файл хоста.Может кто-нибудь мне помочь?Я просмотрел много других вопросов, но ни один из них, похоже, не работает.
Каталог файлов хоста: C: \ Windows \ System32 \ Drivers \ etc \ hosts
(Например, * Запросить повышение UAC из скрипта Python?
Некоторые из этих ответов на самом деле работают с запросом на получение доступа администратора, но все равно не дают разрешения моей программе.Единственный способ, который я понял, - сначала запустить оболочку Python от имени администратора, а затем запустить код или запустить командную строку от имени администратора и открыть файл Python с помощью командной строки.
ВЕБ-САЙТ
https://boostlog.io/@faisalnad/create-a-website-blocker-with-python-5afe86ff47018500491f4898
Эта программа предназначена для блокировки веб-сайта.
import time
from datetime import datetime as dt
# change hosts path according to your OS
hosts_path = r”C:\Windows\System32\Drivers\etc\hosts”
# localhost's IP
redirect = "127.0.0.1"
# websites That you want to block
website_list = ["www.facebook.com","facebook.com",
"dub119.mail.live.com","www.dub119.mail.live.com",
"www.gmail.com","gmail.com"]
while True:
# time of your work
if dt(dt.now().year, dt.now().month, dt.now().day,8) < dt.now() < dt(dt.now().year, dt.now().month, dt.now().day,16):
print("Working hours...")
with open(hosts_path, 'r+') as file:
content = file.read()
for website in website_list:
if website in content:
pass
else:
# mapping hostnames to your localhost IP address
file.write(redirect + " " + website + "\n")
else:
with open(hosts_path, 'r+') as file:
content=file.readlines()
file.seek(0)
for line in content:
if not any(website in line for website in website_list):
file.write(line)
# removing hostnmes from host file
file.truncate()
print("Fun hours...")
time.sleep(5)
Это ошибка:
Working hours...
Traceback (most recent call last):
File "C:\Users\Key\Desktop\random project.py", line 19, in <module>
with open(hosts_path, 'r+') as file:
PermissionError: [Errno 13] Permission denied: 'C:\\Windows\\System32\\Drivers\\etc\\hosts'
СПРАВОЧНИК ФАЙЛА ![enter image description here](https://i.stack.imgur.com/2R19C.png)