Создать скрытый файл python

Python3: как сделать файл скрытым в windows?

В Windows есть функция скрытия файла, которая позволяет скрыть файл от обычного просмотра. Однако, она не предоставляет пользователю возможности скрыть файл с помощью программы на Python3. В этой статье мы расскажем о том, как это можно сделать.

Как сделать файл скрытым в Windows?

Для начала, необходимо понимать, что Windows имеет скрытые атрибуты, которые могут быть установлены для файлов и папок. Один из атрибутов — это атрибут скрытого файла, который указывает операционной системе, что файл должен быть скрыт от представления пользователю.

Скрывать файлы можно несколькими способами:

Используйте командную строку

Командная строка — это стандартное средство Windows, которое позволяет вам управлять операционной системой. С помощью командной строки легко скрыть файлы от просмотра.

Откройте командную строку с помощью сочетания клавиш Win + R, затем введите cmd и нажмите Enter.

Чтобы скрыть файл с помощью командной строки, необходимо ввести следующую команду:

Где — это имя файла, который вы хотите скрыть.

Чтобы скрыть папку, нужно ввести следующую команду:

Где — это имя папки, которую вы хотите скрыть.

После этого файл или папка будет скрытым и не будут отображаться в проводнике, если вы не выбрали опцию показывать скрытые файлы.

Используйте модуль os в Python3

Модуль os в Python3 предоставляет функции для работы с операционной системой, включая возможность управления файлами и папками. С помощью модуля os можно установить атрибут скрытого файла для любого файла или папки.

Вот пример кода Python3, который скрывает файл:

Аналогично, можно скрыть папку:

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

Используйте модуль ctypes в Python3

Модуль ctypes позволяет вызывать функции из динамических библиотек, написанных на языке C. В Windows, для работы с файлами и папками используется библиотека kernel32.dll, которая предоставляет функции для управления файловой системой.

Вот пример кода Python3, который скрывает файл, используя модуль ctypes:

#Определяем константы для получения информации о файле
FILE_ATTRIBUTE_HIDDEN = 0x02

#Определяем функции из kernel32.dll, которые будем использовать
SetFileAttributes = ctypes.windll.kernel32.SetFileAttributesW
GetLastError = ctypes.windll.kernel32.GetLastError

#Получаем имя файла, который хотим скрыть
filename = «C:\\testfile.txt»

#Вызываем функцию SetFileAttributes и передаем ей имя файла и значение атрибута скрытого файла
if not SetFileAttributes(filename, FILE_ATTRIBUTE_HIDDEN):
#Если возникла ошибка, получаем ее код и выводим сообщение об ошибке
errcode = GetLastError()
print(«Не удалось скрыть файл. Код ошибки: » + str(errcode))
else:
print(«Файл скрыт успешно.»)

Читайте также:  Wamp apache mysql php on windows

Аналогично, можно скрыть папку:

#Определяем константы для получения информации о папке
FILE_ATTRIBUTE_DIRECTORY = 0x10
FILE_FLAG_BACKUP_SEMANTICS = 0x02000000
FILE_SHARE_READ = 0x00000001
FILE_SHARE_WRITE = 0x00000002
GENERIC_READ = 0x80000000
GENERIC_WRITE = 0x40000000
INVALID_HANDLE_VALUE = -1
OPEN_EXISTING = 3

#Определяем функции из kernel32.dll, которые будем использовать
GetLastError = ctypes.windll.kernel32.GetLastError
CreateFile = ctypes.windll.kernel32.CreateFileW
SetFileAttributes = ctypes.windll.kernel32.SetFileAttributesW

#Получаем имя файла, который хотим скрыть
foldername = «C:\\testfolder»

#Вызываем функцию CreateFile, чтобы открыть папку и получить дескриптор
handle = CreateFile(foldername, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, None, OPEN_EXISTING, FILE_ATTRIBUTE_DIRECTORY | FILE_FLAG_BACKUP_SEMANTICS, None)

#Вызываем функцию SetFileAttributes и передаем ей дескриптор папки и значение атрибута скрытой папки
if not SetFileAttributes(handle, FILE_ATTRIBUTE_HIDDEN):
#Если возникла ошибка, получаем ее код и выводим сообщение об ошибке
errcode = GetLastError()
print(«Не удалось скрыть папку. Код ошибки: » + str(errcode))
else:
print(«Папка скрыта успешно.»)

В этой статье мы рассмотрели несколько способов скрыть файлы и папки в Windows с помощью Python3. Вы можете выбрать любой из этих способов, в зависимости от ваших потребностей. Опираясь на эти знания, вы можете использовать Python3 для автоматизации управления файловой системой Windows.

Похожие записи:

Источник

Python-сообщество

[RSS Feed]

  • Начало
  • » Python для новичков
  • » Создание папки с атрибутом «Скрытая»

#1 Дек. 20, 2010 10:42:31

Создание папки с атрибутом «Скрытая»

Доброго времени суток. Вопрос простой — как средствами питона создать скрытую папку.
есть os.makedirs() , использую которую в UNIX системах можно создать скрытую папку, если начать имя с точки, например так

но вот как быть в Windows?? Вторым аргументом этой функции идет mode, но насколько я понимаю там задаются лишь права доступа.

#2 Дек. 20, 2010 13:58:40

Андрей Светлов От: Зарегистрирован: 2007-05-15 Сообщения: 3137 Репутация: 14 Профиль Адрес электронной почты

Создание папки с атрибутом «Скрытая»

#3 Дек. 20, 2010 14:51:34

Создание папки с атрибутом «Скрытая»

os.system('attrib полный путь к папке +H')

#4 Дек. 20, 2010 14:56:46

Андрей Светлов От: Зарегистрирован: 2007-05-15 Сообщения: 3137 Репутация: 14 Профиль Адрес электронной почты

Создание папки с атрибутом «Скрытая»

os.system('attrib полный путь к папке +H')

#5 Дек. 20, 2010 14:59:40

Создание папки с атрибутом «Скрытая»

если возвратил нуль , то нет ошибки! Хотя это уже другой вопрос! Или я что-то не понял? Что за ошибки?

#6 Дек. 20, 2010 15:07:28

Андрей Светлов От: Зарегистрирован: 2007-05-15 Сообщения: 3137 Репутация: 14 Профиль Адрес электронной почты

Создание папки с атрибутом «Скрытая»

Именно эти самые. Возврат нуля еще ничего не гарантирует — всё зависит от запускаемого shell. Но для cmd.exe прокатит. А дальше?
Кстати, где список return codes для attrib.exe? На сайте об этом молчок.

Ей-же-ей. Не стоит советовать такие способы, если только не требуется “самый выпендрёжный вариант”.

#7 Дек. 20, 2010 15:36:46

Создание папки с атрибутом «Скрытая»

та я не советую! Просто сам по ходу учу, подсказывая! В нажежде что может поправят ошибки, подскажут!
А скажите мне по секрету 🙂 плиз: как лучше из Питона вызывать WIN API функции? Тоесть допустим тот же MessageBox или CreateFile .
Нужно win32 ? использовать. Или что? Сейчас не горит, но просто на будующее что бы знать!

Читайте также:  Css disable click event

Отредактировано (Дек. 20, 2010 15:45:05)

#8 Дек. 20, 2010 15:51:36

Андрей Светлов От: Зарегистрирован: 2007-05-15 Сообщения: 3137 Репутация: 14 Профиль Адрес электронной почты

Создание папки с атрибутом «Скрытая»

ctypes. К pywin32 у меня накопилось слишком много претензий.

[RSS Feed]

  • Начало
  • » Python для новичков
  • » Создание папки с атрибутом «Скрытая»

Источник

скрыть текстовый файл (python tkinter)

Как только приложение запускается, я расшифровываю все сохраненные данные (которые зашифрованы с использованием ARC4) и сохраняю их в файле. Теперь приложение работает в полноэкранном режиме, но если пользователь свернет это окно и заглянет в свой файловый менеджер (nemo, explorer и т. Д.), То он увидит файл в текстовом формате. Это приведет к компрометации всех данных, и, очевидно, я не хочу, чтобы это произошло. Когда приложение закрыто, я шифрую данные и удаляю открытый текст, используя os.remove , и сохраняю только зашифрованные данные. Меня беспокоит то время, когда приложение работает. Сохраненные данные являются информацией об учетной записи (имена пользователей, пароли и т. Д.).

Так есть ли способ как-то скрыть этот текстовый файл, чтобы пользователь не смог увидеть его в своем файловом менеджере, но я могу получить к нему доступ из программы?

препятствие: (

Я не могу изменить весь дизайн программы, потому что я работаю в срок, и это большое приложение, которое просто займет слишком много времени. Пожалуйста, помогите мне с этой проблемой.

характеристики

Я использую Python 2.7 на машине Linux Mint.

3 ответа

действительно , плохая идея хранить конфиденциальные данные в текстовом файле. Вы действительно должны расшифровывать данные только тогда, когда вам это нужно, и использовать их немедленно в программе, не записывая их в файл.

Однако, если вы уже знаете это и просто хотите быстро исправить ошибку, чтобы скрыть файл, вы можете:

  • Начните имя файла с . — например, .data . Это сделает файл скрытым в Unix-системах.
  • Поместите файл в неясное место, которое пользователь вряд ли будет искать, например /tmp
  • Не присваивайте файлу очевидное имя, например passwords.txt , но вместо этого используйте сгенерированное имя из хеш-функции или метки времени, например time.time() . Это будет иметь дополнительное преимущество, так как ваше имя файла будет отличаться при каждом запуске программы.
  • Вы можете удалить разрешения на чтение из файла с помощью os.chmod(file, ‘022’)
  • Удалите файл, когда ваша программа закроется, с os.remove(file)

Есть способы обойти все эти средства защиты (даже удаление файла), они лишь усложняют задачу пользователя по чтению данных. Это вовсе не настоящая защита, и определенно не стоит полагаться на такие методы для защиты реальных данных.

В идеале вы должны расшифровывать данные по мере необходимости, использовать их, а затем удалять из памяти, как только они больше не нужны, даже не записывая их на диск. Если это изменение дизайна слишком велико, и вы не против, если нетехническому пользователю будет немного сложнее получить доступ ко всей вашей конфиденциальной информации, сохраните ее в памяти и примите, что любой, кто заботится о ней, может получить к ней доступ.

Читайте также:  Php заменить пробел на символ

В противном случае, некоторые другие варианты для упрощения доступа к данным:

  • Вы можете скрыть файл, но если пользователь включает показ скрытых файлов или использует ls -l , они могут видеть это.
  • Вы можете защитить файл от чтения, но пользователь может изменить разрешения на чтение файла.
  • Вы можете удалить файл сразу после его использования, но пользователь может использовать инструменты восстановления данных, чтобы прочитать файл (или просто прочитать его, пока программа его использует).
  • Вы можете отправить файл на удаленный сервер и прочитать его оттуда без расшифровки данных, когда-либо затрагивающих диск пользователя, но если они используют анализатор пакетов, они могут читать данные.
  • Вы можете хранить его только в памяти, но если ОС выгружает его из памяти или пользователь проверяет память вашей программы, он может прочитать данные.

Несколько более безопасный подход — использовать отображенные в памяти файлы вместо файлов на диске. Если размер зашифрованных данных не равен сотням мегабайт, вы можете создать файлы в памяти, не касаясь диска. Посмотрите на модуль StringIO. Конечно, это не на 100% безопасно, так как есть способы увидеть, что хранится в оперативной памяти, и ОС может перенести данные в файл подкачки на жестком диске, но это все же на порядок лучше «защищено», чем обычное текстовые физические файлы на диске.

Источник

Как редактировать скрытый файл в Windows через Python?

Точно других флагов нет? Поставь себе far и смотри информацию по файлу удобно.

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

danila763

1) Как через far посмотреть информацию о файле? Через ПКМ -> Свойства открывается стандартное окно
2) В этом и проблема, я для проверки создал пустой файл, поставил флаг скрытый, и файл перестал открываться python-м
3) Изначальная цель — редактировать файл desktop.ini, а у него этот флаг не снимаемый

единственное разумное объяснение — антивирус
файл desktop.ini считается опасным для доступа для редактирования ведь с его помощью можно заставить систему запускать файл без разрешения пользователя — типичный вектор атак для вирусов

попробуй сначала создать файл с другим именем (или переименовать если нужно редактирование) а потом переименовать в desktop.ini

danila763

точно это возникает только со скрытыми файлами?

может причина все же в правах доступа к файлам? файлы в корне системного диска по умолчанию имеют права для всех только на чтение, прошедшим проверку и администраторам — на запись

повышение привилегий в windows делают перезапуском текущего приложения с новыми правами, у меня нет сейчас windows машины с python но гугл говорит что ты правильно все делаешь

p.s. попробуй вручную запусти скрипт с повышением прав (открыв консоль с шифтом или запустив скрипт с помощью runas)

Источник

Оцените статью