Есть ли способ скрыть папки/файлы с помощью Python?Hide Folders/File with Python
Я работаю с огромным проектом (сканер уязвимостей). Проект создает много файлов и папок. Поэтому вопрос, есть ли способ создать скрипт, который скрывает файлы и папки?
Есть ли способ скрыть папки/файлы с помощью Python?Hide Folders/File with Python
Я работаю с огромным проектом (сканер уязвимостей). Проект создает много файлов и папок. Поэтому вопрос, есть ли способ создать скрипт, который скрывает файлы и папки?
Если вы можете поместить свои данные в файл стиля DBM, у вас будет только один файл данных.
http://docs.python.org/library/anydbm.html
Вместо имен файлов вы должны использовать ключи в БД и содержание файла будет найден путем индексации в БД.
Для этого требуется, чтобы ваши отдельные файлы были достаточно малы, чтобы их можно было легко загружать каждый раз, когда вам нужен доступ к их части. Если они большие, то рассмотрите их разделение и использование ключей DBM для доступа к ним. Например, если «example.txt» содержит много строк, и вы хотите иметь доступ к каждой отдельной строке, вы можете сохранить ее как db["example.txt/l1"]
... db["example.txt/l42"]
.
import tempfile
См. documentation.
Здесь находится скрытый файл. "The file is readable and writable only by the creating user ID." i.e. значение означает «скрыть файл с других пользователей».
Я честно не понимаю, как этот вопрос был рассмотрен 5 раз: вопрос о скрытых файлах/папках, и этот * короткий * ответ касается временных файлов. Ничто в связанной документации не касается скрытых файлов, и ОП никогда не утверждал, что его файлы были временными. – ereOn
@ereOn: Я обновил ответ, чтобы определить, что означает «скрытый». ОП не уточнил, что он подразумевает под «скрыть», поэтому я понял смысл, который имеет смысл в контексте сканера уязвимостей. Кстати, вам вообще не нужно удалять файлы, созданные модулем tempfile; это то, как это часто используется. – jfs
есть. $ Filename вид вещи, которую вы ищете?
Это не дает ответа на вопрос. Чтобы критиковать или просить разъяснения у автора, оставьте комментарий ниже их сообщения. – JMax
@JMax: IDK, это своего рода попытка ответить. Я предполагаю, что вы попытались обозначить это как NAA, и этот флаг был отклонен. – ArtOfWarfare
Если это для Windows:
http://code.activestate.com/recipes/303343/
Резюме: импорт win32api, win32con, Os win32api.SetFileAttributes (имя файла, win32con.FILE_ATTRIBUTE_HIDDEN)
Если для Unix:
filename = "." + Имя файл
для адреса файла в использовании файла в качестве префикса г, потому что адрес содержит обратное косую черту ... например, Г «с: ... \ файлом»
К сожалению, модуль win32api отсутствует в стандартной версии для доставки http://stackoverflow.com/questions/227928/whats-win32con-module-in-python-where-can-i-find-it – Tebe
Если вы не хотите идти к хлопоты используя pywin32, вы можете вызвать SetFileAttributes с ctypes в стандартной библиотеке.
ctypes.windll.kernel32.SetFileAttributesW(path, 2)
path
должен быть юникода тип строки, как это версия Юникода SetFileAttributes. Константа 2 равна this page (FILE_ATTRIBUTE_HIDDEN). Я полагаю, что нет никакого способа получить красивые постоянные имена из ctypes, поэтому вам придется искать их сами.
ctypes имеет windll (но только на окнах ...), см. документацию здесь http://docs.python.org/2/library/ctypes.html#loading-dynamic-link-libraries – ldrg
Я получаю 'ImportError: Нет модуля с именем 'ctypes.windll' 'на обоих Python 2.7 и 3.4. Все это в Windows. –
Это потому, что вы не импортируете ctypes.windll, вы импортируете ctypes и вызываете ctypes.windll. Взгляните на источник для ctypes в std-библиотеке, импортер не может загружать windll, потому что это не подмодуль пакета ctypes. http://hg.python.org/cpython/file/844879389a17/Lib/ctypes/__init__.py#l442 – ldrg
возможно (по крайней мере, с linux и ext fs), чтобы открыть/создать файл и сохранить только обработчик файлов для операций чтения/записи из активного процесса, но ни один другой процесс не может видеть этот файл, указанный в каталогах или где угодно.
это зависит от операционной системы и файловой системы, и это как раз просто, как:
fh = open("data", "w+")
os.system("unlink data")
fh.write(sth)
...
очень изменчив файл и изменчивое решением немного, но работает отлично.
Не могли бы вы уточнить, что вы подразумеваете под «скрыть папки/файлы»? – jfs
-1: не указана операционная система. –
В окнах вы можете использовать% APPDATA% env var в качестве местоположения для хранения любых файлов, которые на самом деле не предназначены для потребления пользователями. –