我有这个小程序,它需要在他们的‘我的文档’文件夹中创建一个小的.txt文件。下面是我的代码:
textfile=open('C:\Users\MYNAME\Documents','w')
lines=['stuff goes here']
textfile.writelines(lines)
textfile.close()问题是,如果其他人使用它,我如何将MYNAME更改为他们的帐户名?
发布于 2011-06-03 21:21:26
使用os.path.expanduser(path),请参阅http://docs.python.org/library/os.path.html
例如expanduser('~/filename')
根据文档,这在Unix和Windows上都有效。
编辑:由于Sven的评论而导致的正斜杠。
发布于 2015-06-19 03:52:26
这不需要任何额外的库就可以工作:
import ctypes.wintypes
CSIDL_PERSONAL = 5 # My Documents
SHGFP_TYPE_CURRENT = 0 # Get current, not default value
buf= ctypes.create_unicode_buffer(ctypes.wintypes.MAX_PATH)
ctypes.windll.shell32.SHGetFolderPathW(None, CSIDL_PERSONAL, None, SHGFP_TYPE_CURRENT, buf)
print(buf.value)如果用户更改了文档位置和/或默认保存位置,也可以使用。
发布于 2021-02-16 18:54:30
在Linux(ubuntu18.04.5)和windows7上测试的
import os
os.path.expanduser('~/Documents')https://stackoverflow.com/questions/6227590
复制相似问题