Только начал изучать Python. Как я могу получить статус атрибутов файла в Python? Я знаю, что os.chmod(fullname, stat.S_IWRITE)
удалить атрибут только для чтения, но как я могу получить статус, не меняя его? Мне нужно получить все атрибуты "hidden"
, "system"
, "readonly"
, "archive"
Получить атрибуты файла (скрытый, только для чтения, системный, архивный) в Python
Ответы (3)
Вы можете напрямую использовать API Windows, например
import win32con
import win32api
attrs = win32api.GetFileAttributes(filepath)
attrs & win32con.FILE_ATTRIBUTE_SYSTEM
attrs & win32con.FILE_ATTRIBUTE_HIDDEN
person
loopingz
schedule
30.10.2015
Что делает часть
attrs &
?
- person voices; 11.03.2019
FileAttributes является целым числом флагов, поэтому вам нужно проверить каждый бит, каждый бит представляет собой логическое значение.
- person loopingz; 11.03.2019
вам нужно взглянуть на модуль stat
и os.stat
os.stat(path)
Perform the equivalent of a stat() system call on the given path. (This function follows symlinks; to stat a symlink use lstat().)
The return value is an object whose attributes correspond to the members of the stat structure, namely:
st_mode - protection bits,
st_ino - inode number,
st_dev - device,
st_nlink - number of hard links,
st_uid - user id of owner,
st_gid - group id of owner,
st_size - size of file, in bytes,
st_atime - time of most recent access,
st_mtime - time of most recent content modification,
st_ctime - platform dependent; time of most recent metadata change on Unix, or the time of creation on Windows)
person
Hackaholic
schedule
28.11.2014
Где скрытый атрибут?
- person Alex; 06.07.2020
Если вы используете Python 3.4+, вы можете использовать pathlib stat.
from pathlib import Path
print(Path(r"D:\temp\test.txt").stat())
Выход:
os.stat_result(
st_mode=33206,
st_ino=204632308068721491,
st_dev=67555953,
st_nlink=1,
st_uid=0,
st_gid=0,
st_size=4,
st_atime=1550757968,
st_mtime=1550757968,
st_ctime=1550757951
)
дополнительная информация о os.stat_result
person
Vlad Bezden
schedule
21.02.2019
.
в качестве первого символа имени, в Windows, хотя я думаю, что это атрибут файла. - person Tony Suffolk 66   schedule 29.11.2014