在C++中,獲取Shell在Windows XP和Windows 7中調用「我的文檔」的文件夾的完整路徑名稱並不難; Vista中的「文檔」請參閱Get path to My Documents你如何獲得「我的文檔」的確切路徑?
是否有一種簡單的方法可以在Python中執行此操作?
在C++中,獲取Shell在Windows XP和Windows 7中調用「我的文檔」的文件夾的完整路徑名稱並不難; Vista中的「文檔」請參閱Get path to My Documents你如何獲得「我的文檔」的確切路徑?
是否有一種簡單的方法可以在Python中執行此操作?
您可以使用ctypes的模塊,以獲得 「我的文檔」 目錄:
import ctypes
from ctypes.wintypes import MAX_PATH
dll = ctypes.windll.shell32
buf = ctypes.create_unicode_buffer(MAX_PATH + 1)
if dll.SHGetSpecialFolderPathW(None, buf, 0x0005, False):
print(buf.value)
else:
print("Failure!")
我會給+1,但是使用ANSI版本可能會限制在缺省代碼頁之外使用字符的目錄。 – 2010-10-13 20:15:23
@Adrian McCarthy,謝謝,我沒有注意到。我改變了我的答案,而是使用unicode版本。 – 2010-10-13 20:29:03
我假設魔法常量0x0005是CSIDL_PERSONAL。是否在某處記錄了魔術常量300,還是僅僅添加了一些任意填充的MAX_PATH? – 2010-10-13 20:33:55
我不知道很多有關Windows,而不是'os.environ [ 'HOMEPATH']'通常在Windows系統上定義? – 2010-10-13 19:34:06
@Joe,在我的系統上'os.environ ['HOMEPATH']'返回''\\''。 – 2010-10-13 19:56:14
@Mark - 啊,我的歉意......它似乎在我可以使用的XP機器上工作,我隱約記得它是標準的......我猜不是! – 2010-10-13 20:04:00