Как сделать файл недоступным для редактирования? - PullRequest
0 голосов
/ 05 августа 2020

Я работаю над идеей. Здесь мне нужна небольшая помощь, так как у меня нет глубоких знаний о модулях python (я имею в виду, что я не знаю всех модулей python). Взгляните на код

file = open('Data.txt', 'w')
a = input('Enter your name in format F|M|L: ')
file.write(a)
file.close()

Приведенный выше код открывает файл, который записывает в него мои данные. Однако я хочу редактировать документ только через python, а не открывая его из сохраненного места. Вскоре я хочу отключить выпуски, сделанные открытием файла в текстовых редакторах.

Ответы [ 2 ]

0 голосов
/ 05 августа 2020

Если вас беспокоит только текстовый редактор, используйте 'wb' вместо 'w'. Используйте 'rb', чтобы открыть эти файлы.

0 голосов
/ 05 августа 2020

Если ваша ОС - Windows, самый простой вариант - сделать файл доступным только для чтения, когда ваш скрипт будет готов. И установите для флага только для чтения значение false во время работы вашего скрипта. Есть несколько способов изменить права доступа к файлам с помощью библиотеки pywin32, но сложно и трудно найти хорошие примеры.

import os
from stat import S_IWRITE, S_IREAD

fname = 'test.txt'

# if file exists, reset read only to false (allow write)
if os.path.isfile(fname):    
    os.chmod(fname, S_IWRITE)

fid = open(fname, 'w')
fid.write('shoobie doobie')
fid.close()

Это уже было указано в комментариях, этот метод не остановит определенных лицо от изменения атрибута только для чтения.

...