Python 使用分隔符拆分字符串跳过第一次出现

Python 使用分隔符拆分字符串跳过第一次出现,python,string,Python,String,我正在拆分下面的字符串文件路径,以便它返回“abc/def”。正如你所看到的,我用“/”进行拆分,然后把它们重新连接起来 file_path = 'abc/def/xyz.txt' path_prefix = "/".join(file_path.split("/")[0:2]) 是否可以按“/”拆分文件路径字符串,但跳过第一次出现的“/”?这样我就不必执行join。您可以使用str.rsplit方法,使用maxplit的1: file_path.rsplit('/', maxsplit=1)

我正在拆分下面的字符串文件路径,以便它返回“abc/def”。正如你所看到的,我用“/”进行拆分,然后把它们重新连接起来

file_path = 'abc/def/xyz.txt'
path_prefix = "/".join(file_path.split("/")[0:2])

是否可以按“/”拆分文件路径字符串,但跳过第一次出现的“/”?这样我就不必执行join。

您可以使用
str.rsplit
方法,使用
maxplit
1

file_path.rsplit('/', maxsplit=1)[0]
是的:


如果您试图以一种通用的或可移植的方式进行路径拆分,那么有很多方法可能会导致路径拆分错误。你可以考虑使用而不是滚动你自己的。例如:

import os.path
file_path = 'abc/def/xyz.txt'

os.path.dirname(file_path)
# 'abc/def'

谢谢,知道这一点很好,但是对于我的用例,我得到了一个固定的路径作为输入。我不明白为什么会有人-1这个?跳过最后一次怎么样。意思是“abc/def/xyz.txt”变成“def/xyz.txt”,我在rsplit api中找不到任何相关内容。为此,您可以使用
file_path.split('/',maxslit=1)[1]
import os.path
file_path = 'abc/def/xyz.txt'

os.path.dirname(file_path)
# 'abc/def'