第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何通過路徑的名稱獲取路徑的特定父級?

如何通過路徑的名稱獲取路徑的特定父級?

HUWWW 2022-09-27 09:37:04
我有一個函數(shù),它返回我通過常量名稱查找的特定父項(xiàng)的完整路徑。我目前正在使用 和 字符串作為路徑,所以現(xiàn)在這是用正則表達(dá)式完成的。os.path例如,我想要的是一個能夠得到的常量:parent = d/a/b/c/d/e      -->  /a/b/c/d/a/b/c/d/e/f    -->  /a/b/c/d/root/a/b/c/d/e -->  /root/a/b/c/d注意:如示例所示,我不想依賴雙方的任何固定位置。我嘗試了2種方法,但都感覺有點(diǎn)笨拙:使用這些部件以查找正確的父元素:>>> path = "/a/b/c/d/e/f">>> parts = Path(path).parts>>> parent_index = len(parts) - 1 - parts.index('d') - 1>>> Path(path).parents[parent_index]PosixPath('/a/b/c/d')使用這些部件并連接相關(guān)部件:>>> path = "/root/a/b/c/d/e">>> parts = Path(path).parts>>> Path(*parts[:parts.index('d')+1])PosixPath('/root/a/b/c/d')我會說第二個似乎是合理的,但是,我的問題是:有沒有更直接的,悸動式的方法來實(shí)現(xiàn)這一目標(biāo)?重復(fù)索引和切片感覺效率低下,而且相當(dāng)混亂。parents附言:如果路徑中不存在該部分,則足以引發(fā)異常或任何指標(biāo)(現(xiàn)在我用上面的代碼包裝)。indextry/except
查看完整描述

2 回答

?
慕姐4208626

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個贊

您可以改用循環(huán)來繼續(xù)向后搜索給定名稱的父級:while


path = Path("/a/b/c/d/e/f")

while path.name != 'd':

    path = path.parent

    assert path.name, 'No parent found with the given name'

print(path)

此輸出:


/a/b/c/d


查看完整回答
反對 回復(fù) 2022-09-27
?
慕的地8271018

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個贊

您可以拆分和聯(lián)接字符串,并使用項(xiàng)目 +1 的索引


path='/a/b/c/d/e/f'

lpath=path.split('/')

index=lpath.index('d')+1

'/'.join(lpath[0:index])

輸出:


'/a/b/c/d'


查看完整回答
反對 回復(fù) 2022-09-27
  • 2 回答
  • 0 關(guān)注
  • 90 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號