Python 获取特定驱动器的用户路径-(从云中的其他目录导入模块)

Python 获取特定驱动器的用户路径-(从云中的其他目录导入模块),python,path,Python,Path,我试图获得一种跨平台的方法,使python文件能够访问服务器托管文件系统(Google Drive)中的共享模块目录。 很好地解释了如何从其他目录导入模块 解释如何获取用户文件,以便访问Google Drive、Dropbox等可以轻松访问同一目录,这与第一个想法相结合 将两者结合起来: from os.path import join, expanduser user_path = expanduser('~') path_for_pyfiles = join(user_path, 'Goog

我试图获得一种跨平台的方法,使python文件能够访问服务器托管文件系统(Google Drive)中的共享模块目录。
很好地解释了如何从其他目录导入模块

解释如何获取用户文件,以便访问Google Drive、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()
解决了我的问题,它显然使用了
HOME
(这是我的问题-
HOME
U:\\
而不是
C:\\
,在我的情况下)

所以基本上这就是改变的原因:

user_path = environ['USERPROFILE']
以下是我最终得到的结果:

import sys
from os import path, environ
user_path = environ['USERPROFILE']
path_for_pyfiles = path.join(user_path, 'Google Drive', 'Shared Modules', '')

sys.path.insert(0, path_for_pyfiles)

from shared_module import *
然而,我还没有在其他计算机上验证过这一点,所以我们将看看它是否会随着时间的推移保持正确

如果这不能解决人们的问题,我还尝试直接设置
os.environ
属性。
(这对我不起作用,我不知道这样做是否明智,但如果你遇到了问题,你可以在某个地方进行调查。)