我看到了找到用户路径的答案,然后将其与desktop连接起来,如:
desktop = os.path.expanduser("~/Desktop")和
desktop = os.path.join(os.path.join(os.environ['USERPROFILE']), 'Desktop') 但是,当设备具有非默认扩展时,它无法工作:
C:\\Users\\NAME\\OneDrive\\Desktop或非英文分机:
C:\\Users\\NAME\\OneDrive\\桌面最后我作为紧急反应做了这件事:
possible_desktop_ext = ['Desktop', 'OneDrive\\Desktop', 'OneDrive\\桌面']我肯定能看到这个列表在未来呈指数增长,而且我不喜欢每次我发现一个新的扩展时这样做的感觉。
那么,检索桌面路径最可靠的方法是什么呢?
发布于 2022-10-09 17:18:59
这是改编自https://stackoverflow.com/a/626927/5987,我敦促你去它,并给予它应有的认可。
import ctypes
from ctypes import wintypes, windll
CSIDL_DESKTOP = 0
_SHGetFolderPath = windll.shell32.SHGetFolderPathW
_SHGetFolderPath.argtypes = [wintypes.HWND,
ctypes.c_int,
wintypes.HANDLE,
wintypes.DWORD, wintypes.LPCWSTR]
path_buf = ctypes.create_unicode_buffer(wintypes.MAX_PATH)
result = _SHGetFolderPath(0, CSIDL_DESKTOP, 0, 0, path_buf)
print(path_buf.value)https://stackoverflow.com/questions/74006573
复制相似问题