Python: 为文件设置多个属性(例如系统、隐藏)
Python: Setting Multiple Attributes for a file (e.g. System, Hidden)
使用Python设置多个文件属性的方法是什么?
例如我想将文件的属性设置为系统,隐藏。
我可以使用类似下面的东西,但它只会设置一个属性,并覆盖之前的写入:
import win32con, win32api, os
filename = "some file name"
win32api.SetFileAttributes(filename,win32con.FILE_ATTRIBUTE_SYSTEM)
win32api.SetFileAttributes(filename,win32con.FILE_ATTRIBUTE_HIDDEN)
这将以隐藏属性结束。
如何同时设置这两个属性?谢谢
好的,这是解决方案。我将其设为通用以供一般使用。
import win32api
## If need to install pywin if not already to get win32api
## Define constants for Windows file attributes
FILE_ATTRIBUTE_READONLY = 0x01
FILE_ATTRIBUTE_HIDDEN = 0x02
FILE_ATTRIBUTE_SYSTEM = 0x04
FILE_ATTRIBUTE_DIRECTORY = 0x10
FILE_ATTRIBUTE_ARCHIVE = 0x20
FILE_ATTRIBUTE_NORMAL = 0x80
FILE_ATTRIBUTE_TEMPORARY = 0x0100
## Combine all the attributes you want using bitwise-Or (using the pipe symbol)
Attribute = FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM
filename="Your-filename-goes-here"
win32api.SetFileAttributes(filename,Attribute)
## Check that the attribute is set.
## You can also right click on the file in windows explorer and
## look under Details tab.
print win32api.GetFileAttributes(filename)
使用Python设置多个文件属性的方法是什么?
例如我想将文件的属性设置为系统,隐藏。
我可以使用类似下面的东西,但它只会设置一个属性,并覆盖之前的写入:
import win32con, win32api, os
filename = "some file name"
win32api.SetFileAttributes(filename,win32con.FILE_ATTRIBUTE_SYSTEM)
win32api.SetFileAttributes(filename,win32con.FILE_ATTRIBUTE_HIDDEN)
这将以隐藏属性结束。
如何同时设置这两个属性?谢谢
好的,这是解决方案。我将其设为通用以供一般使用。
import win32api
## If need to install pywin if not already to get win32api
## Define constants for Windows file attributes
FILE_ATTRIBUTE_READONLY = 0x01
FILE_ATTRIBUTE_HIDDEN = 0x02
FILE_ATTRIBUTE_SYSTEM = 0x04
FILE_ATTRIBUTE_DIRECTORY = 0x10
FILE_ATTRIBUTE_ARCHIVE = 0x20
FILE_ATTRIBUTE_NORMAL = 0x80
FILE_ATTRIBUTE_TEMPORARY = 0x0100
## Combine all the attributes you want using bitwise-Or (using the pipe symbol)
Attribute = FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM
filename="Your-filename-goes-here"
win32api.SetFileAttributes(filename,Attribute)
## Check that the attribute is set.
## You can also right click on the file in windows explorer and
## look under Details tab.
print win32api.GetFileAttributes(filename)