os.join创建了错误的路径

时间:2017-11-08 12:25:23

标签: python-3.x os.path

我需要获取桌面上目录的绝对路径 我有:

 home = os.environ["HOMEPATH"]
 desktop =  os.path.join(home,'Desktop')
 name = 'Test_L1_R1
 fileName = os.path.abspath(os.path.join(desktop,r'\python35\connect4\pons\data',name))

结果应为

C:\Users\Alan\Desktop\python35\connect4\pons\data\Test_L1_R1

但实际结果是

C:\python35\connect4\pons\data\Test_L1_R1

我相信操作系统检测到我有一个目录

C:\python35

因为我将路径更改为

fileName = os.path.abspath(os.path.join(desktop,r'\connect4\pons\data',name))

即删除python35部分我得到了正确的答案

如何阻止它呢?

1 个答案:

答案 0 :(得分:1)

来自the docs

  

如果组件是绝对路径,则抛弃所有先前的组件,并从绝对路径组件继续连接。

在第二个参数中停止使用绝对路径。