-1

Pythonを使用して複数のファイル属性を設定する方法は何ですか?

たとえば、ファイルの属性をシステム、非表示に設定したい。

以下のようなものを使用できますが、属性を 1 つだけ設定し、以前の書き込みを上書きします。

import win32con, win32api, os

filename = "some file name"

win32api.SetFileAttributes(filename,win32con.FILE_ATTRIBUTE_SYSTEM)
win32api.SetFileAttributes(filename,win32con.FILE_ATTRIBUTE_HIDDEN)

これは Hidden 属性だけになります。

両方の属性を同時に設定するにはどうすればよいですか? ありがとう。

4

1 に答える 1

6

OK、これが解決策です。汎用的に使えるようにしました。

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)
于 2015-02-14T19:12:18.047 に答える