解析python中变量的目录路径

2024-09-28 01:30:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我想解析为var并将解析的内容设置为变量 我想解析C:\\level1\\level2\\level3\\level4\\level5\\level6\\level7\\level8 and make it intolevel7\level8` 目前我只能达到7级

var = "C:\\level1\\level2\\level3\\level4\\level5\\level6\\level7\\level8"

split_path = os.path.split(os.path.split(var)[0])

print split_path

输出低于

^{pr2}$

Tags: andpath内容makeosvarsplitlevel3
2条回答
>>> var = "C:\\level1\\level2\\level3\\level4\\level5\\level6\\level7\\level8"
>>> var.split('\\', 7)
['C:', 'level1', 'level2', 'level3', 'level4', 'level5', 'level6', 'level7\\level8']
>>> var.split('\\', 7)[-1]
'level7\\level8'

我的代码输出和你的不一样。可能是因为我使用的是OSX,而它没有被识别为文件路径。不管怎样,这个解决方案要简单一点,而且能满足您的需要。在

从第二个拆分到第二个拆分的次数参数告诉我们:

^{pr2}$

你不需要做任何事情来删除多余的'\',它是用来转义你想要的。您可以使用print()来查看:

>>> print(var.split('\\', 7)[-1])
level7\level8

你只得到'level7'的原因是'level8'在里面

os.path.split(var)[1]

这应该清楚地表明:

^{pr2}$

以下是一行话:

my_split_path = (os.path.split(os.path.split(var)[0])[0], os.path.split(os.path.join(os.path.split(var)[0][1], os.path.split(var)[1])))

不过,为了清晰起见,我还是建议使用多行代码。在

至于双反斜杠,Python字符串文本将第一个反斜杠视为转义字符。因此,拥有两个就等于拥有了其中一个。在解释器中,var将输出上面的字符串,但是{}将打印单个反斜杠。这个问题在这里得到了详细的回答:Why can't Python's raw string literals end with a single backslash?

相关问题 更多 >

    热门问题