我是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
名称。
谁能告诉我自己做错了什么?它是否与基本路径名称开头附近的数字有关?
答案 0 :(得分:3)
/
开头的restofPath
表示"从根目录开始。"所以os.path.join()
帮助你做到了这一点。
如果您不希望它这样做,请将您的restofPath
写为相对目录,即Data/Test/myfile.txt
,而不是绝对目录。
如果您从程序之外的某个地方(用户输入,配置文件等)获取restofPath
,并且您总是希望将其视为相对的,即使用户非常擅长启动路径使用斜杠,您可以使用restofPath.lstrip(r"\/")
。