簡體   English   中英

檢查目錄是否在路徑中

[英]Check whether or not directory is in path

我正在嘗試編寫一個Python函數來完成以下操作:給定一個路徑和目錄,只有當目錄出現在路徑中的某個位置時才返回True。

例如,請考慮以下示例:

path = 'Documents/Pictures/random/old/test_image.jpg'
dir = 'random'

這應該返回True,因為目錄random/出現在路徑的某個地方。 另一方面,以下示例應返回False:

path = 'Documents/Pictures/random_pictures/old/test_image.jpg'
dir = 'random`

這是因為目錄random/沒有出現在路徑中, random_pictures/ does。

有沒有更聰明的方法來做到這一點,而不僅僅是做這樣的事情:

def is_in_directory(path, dir):
    return '/{0}/'.format(dir) in path

也許使用osos.path模塊?

您可以使用os.path.split獲取目錄路徑,然后拆分它們並檢查是否存在:

>>> dir = 'random'
>>> dir in os.path.split(path)[0].split('/')
True

正如@LittleQ建議的那樣,您可以使用os.path.sep拆分基本路徑

>>> dir in os.path.split(path)[0].split(s.path.sep)
True

使用os.path.sep os.path.dirname拆分:

from os.path import sep,dirname
def is_in_directory(p, d):
    return d in dirname(p).split(sep)

os.path.dirname(路徑)¶

返回路徑名路徑的目錄名稱。 這是通過將路徑傳遞給函數split()返回的對中的第一個元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM