Python os.path.join()在Windows中修改绝对路径

时间:2014-07-25 18:11:57

标签: python python-2.7 path

我是Python新手,我尝试使用以下代码表示的完整路径访问文件:

'X:/01 File Folder/MorePath/Data/Test/myfile.txt'

每当我尝试使用os.path.join构建完整的字符串时,它最终会切掉驱动器号和第二个路径字符串之间的所有内容,如下所示:

import os
basePath = 'X:/01 File Folder/MorePath'
restofPath = '/Data/Test/myfile.txt'
fullPath = os.path.join(basePath,restofPath)

给了我:

'X:/Data/Test/myfile.txt'

作为fullPath名称。

谁能告诉我自己做错了什么?它是否与基本路径名称开头附近的数字有关?

1 个答案:

答案 0 :(得分:3)

/开头的restofPath表示"从根目录开始。"所以os.path.join()帮助你做到了这一点。

如果您不希望它这样做,请将您的restofPath写为相对目录,即Data/Test/myfile.txt,而不是绝对目录。

如果您从程序之外的某个地方(用户输入,配置文件等)获取restofPath,并且您总是希望将其视为相对的,即使用户非常擅长启动路径使用斜杠,您可以使用restofPath.lstrip(r"\/")