我正在尝试一种跨平台的方法,让python文件访问服务器托管文件系统(Google Drive)中的共享模块目录。
This thread很好地解释了如何从其他目录导入模块。你知道吗
And this thread结合第一个想法,解释如何获取用户文件,以便访问Google驱动器、Dropbox等可以轻松访问同一目录。你知道吗
将两者结合起来:
from os.path import join, expanduser
user_path = expanduser('~')
path_for_pyfiles = join(user_path, 'Google Drive', 'Modules')
print path_for_pyfiles
sys.path.insert(0, path_for_pyfiles)
但是,当我在一个有映射用户文件夹'U:'
的位置运行这个程序,并且Google驱动器在'C:'
上时,如何检索正确的用户路径?
为了澄清,它打印了:
'U:\\Google Drive\\Modules'
不是
'C:Users\\User\\Google Drive\\Modules'
摘要:如何获取与给定驱动器关联的用户路径?
我试过os.chdir('C:')
,但那并没有真正影响它。你知道吗
我最终通过引用环境
USERPROFILE
而不是依赖os.path.expanduser()
来解决问题,而os.path.expanduser()
显然使用了HOME
(这是我的问题-HOME
在我的例子中是U:\\
而不是C:\\
)。你知道吗所以基本上这就是改变的地方:
我的结论是:
但是,我还没有在其他计算机上检查过这个,所以我们会看看它是否会随着时间的推移而保持真实。你知道吗
如果这不能解决人们的问题,我还尝试直接设置
os.environ
属性。(这对我不起作用,我也不知道这样做是否明智,但如果你遇到了问题,你可以去调查一下。)
相关问题 更多 >
编程相关推荐