Python kullanarak geçerli dizinin ebeveynini alın

| | | | | | | | | | | | | | | | | | | | | |

İşletim sistemi modülü, üst dizini almak için çeşitli yollar sağlar. Yollardan bazıları:

os.path kullanarak. abspath()

os.path.abspath() üst dizini almak için kullanılabilir. Bu yöntem, yolun normalleştirilmiş sürümünü almak için kullanılır. Bu işlevin ayrıca yardıma ihtiyacı var os.path.join ( () ve os.pardir () .
os.path.join ( () içinde Python os.path.join ( () bir veya daha fazla yol bileşenini birleştirir. Bu yöntem, çeşitli yol bileşenlerini tam olarak bir taneyle birleştirir. (' / ') son yol bileşeni dışında boş olmayan her bölümden sonra dizin ayırıcı. Birleştirilecek yolun son bileşeni boşsa, ( ' / ') dizin ayırıcısı sona yerleştirilir.

Sözdizimi: os.path.abspath (yol)

Parametreler:
yol: Bir dosya sistemi yolunu temsil eden yola benzer bir nesne.

Dönüş Tür: Yolun normalleştirilmiş bir sürümü olan bir dize döndürür.

Örnek:


# Ebeveyn almak için Python programı
# dizin



import os


# geçerli dizini al

path = os.getcwd ()

yazdır ( "Mevcut Dizin" , cwd)


# üst dizini yazdırır

yazdır (os.path.abspath ( < a href="https://python.engineering/python-os-path-join-method/">os.path.join ( (yol, os.pardir)))

Çıktı:

os.path.dirname ()

os.path.dirname () , bir dizinin adını bir dizinde almak için kullanılır. verilen yol.

Sözdizimi: os.path.dirname< /a>(yol)

Parametre:
yol: Bir dosya sistemi yolunu temsil eden yola benzer bir nesne.

Dönüş Türü: Bu yöntem, belirtilen yoldan dizin adını temsil eden bir dize değeri döndürür.

Örnek:

# Ebeveyn almak için Python programı
# dizin


import işletim sistemi


# geçerli dizini al

yol = os.getcwd ()

print ( "Cu rrent Dizini " , path)

print ( )


# üst dizin

üst = os. path.dirname (yol)

print ( "Üst dizin" , üst)

Çıkış :

os.path.relpath () ve os.path.dirname ()

Yukarıdaki örneklerde, üst dizini almak bir düzeyle sınırlıydı, yani , mevcut dizinin sadece üst seviyesini sadece bir seviyeye getirebildik ... Üst dizinin ebeveynini bulmak istediğimizi varsayalım, o zaman yukarıdaki kod başarısız olur. Bu, os.path.dirname () .

os.path.relpath () için kullanılır geçerli çalışma dizininden veya verilen dizinden belirli bir yoldaki bir dosyanın göreli yolunu alın.

Sözdizimi: os.path.relpath (yol, başlangıç = os.curdir)

Parametre:
yol: Dosya sistemi yolunu temsil eden yola benzer bir nesne.
start (isteğe bağlı): Dosya sistemi yolunu temsil eden yola benzer bir nesne.
Verilen yolun göreli yolu, start tarafından belirtilen dizine göre hesaplanacaktır. Bu parametrenin varsayılan değeri os`dur. sabit bir st olan curdir işletim sistemi tarafından geçerli dizine atıfta bulunmak için kullanılan halka.

Yol benzeri bir nesne, bir yolu temsil eden bir dize veya bayt nesnesidir.

Dönüş Türü: Bu yöntem, başlangıç dizininden verilen yola göreli dosya yolunu temsil eden bir dize değeri döndürür.0222

Örnek:

Üst dizini kullanıcı tarafından belirlenen düzeylere göre almak için, bir yol ve düzeyler olarak kabul edecek bir getParent () işlevi oluşturacağız. argümanlar. İşlevin içinde, for döngüsü düzey + 1 zaman sayılarını tekrar eder ve for döngüsü döngüsünün içinde os.path.dirname () çağrılacak. Bu işlevi bir for döngüsü içinde çağırmak bize, os.path.relpath() öğesinin dosyanın göreli yolunu vereceği bir başlangıç noktası verecektir.

Uygulama aşağıdadır.


# Python alıcısı
# üst dizin



import os.path


# ebeveyn

def getParent (yol, seviyeler = 1 ):

ortak = path


#

# almak için for döngüsü kullanımı,

için gerekli başlangıç noktası # os.path.relpath ()

for i in aralığı (seviyeler + 1 ):


# Başlangıç noktası

ortak = os.path.dirname (ortak)

# Belirtilenden önceki üst dizin

# level

dönüş os.path.relpath (yol, ortak)


yol = `D: / Pycharm projeleri / Py thon.Engineering / Nikhil / gfg.txt`

print (getParent (yol, 2 ))

Çıkış :