我尝试用Python编写一个脚本,将文件保存在每个用户目录中.用户1,2和3的示例.
C:\Users\user1\Documents\ArcGIS\file1.gdb
C:\Users\user2\Documents\ArcGIS\file1.gdb
C:\Users\user3\Documents\ArcGIS\file1.gdb
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
在Python中,您可以使用os.path.expanduser来获取用户的主目录.
>>> import os
>>> os.path.expanduser("~")
Run Code Online (Sandbox Code Playgroud)
这是一种独立于平台的确定用户主目录的方法.
然后,您可以连接结果以创建最终路径
os.path.join(os.path.expanduser("~"), 'Documents', 'ArcGIS', 'file1.gdb')
Run Code Online (Sandbox Code Playgroud)
正如一位评论者所指出的,最简单的解决方案是使用USERPROFILE环境变量来编写文件路径.这看起来像是这样的:
import os
userprofile = os.environ['USERPROFILE']
path = os.path.join(userprofile, 'Documents', 'ArcGIS', 'file1.gdb')
Run Code Online (Sandbox Code Playgroud)
或者甚至更简单(具有更好的平台独立性,因为这也可以在Mac OSX/Linux上运行;相信Abhijit的答案如下):
import os
path = os.path.join(os.path.expanduser('~'), 'Documents', 'ArcGIS', 'file1.gdb')
Run Code Online (Sandbox Code Playgroud)
上述两者都可能在Windows版本中存在一些可移植性问题,因为已知Microsoft会从"我的文档"来回更改"Documents"文件夹的名称.
如果您希望以Windows便携式方式获取"Documents"文件夹,请参阅此处的代码:https://stackoverflow.com/questions/3858851#3859336
| 归档时间: |
|
| 查看次数: |
805 次 |
| 最近记录: |