Ошибка получения прав при редактировании файла hosts - PullRequest
0 голосов
/ 16 сентября 2018

Используя python, я пытаюсь отредактировать файл hosts.

with open('C:\Windows\System32\drivers\etc\hosts', 'r+') as file:
    data = file.readlines()
    data[70] = '127.0.0.1 web.alanmrsa.com'
    file.writelines(data)
    print('done')

Когда я запускаю этот файл, он выдает мне следующую ошибку:

PermissionError: [Errno 13] in python

1 Ответ

0 голосов
/ 16 сентября 2018

C:\Windows\System32\drivers\etc\hosts является доступным для записи только администратору .Вместо этого вы должны запустить скрипт как администратор.

Также обратите внимание, что вы должны сделать file.seek(0) после data = file.readlines(), чтобы вы могли перезаписать исходный контент, а также сделать file.truncate() после file.writelines(data), так чточто не будет оставшихся символов из исходного содержимого, если ваша замещающая строка короче, чем содержимое исходной 71-й строки.

...