Python'da Mevcut Çalışma Dizini Nasıl Gidilir?

How Get Current Working Directory Python



Dosya veya klasör adı, tam yolla veya yalnızca komut dosyasında kullanmak için dosya veya klasör adından bahsederek kullanılabilir. Kök dizindeki bir dosya veya klasörün tam yolu, mutlak yolla belirtilir. Dosya adı, komut dosyasındaki yol adı olmadan kullanıldığında, Geçerli Çalışma Dizini dosyanın yol adı olarak kabul edilir ve ilgili yol olarak adlandırılır. Python'da Geçerli Çalışma Dizini, python betiğinin yürütüldüğü dizin konumuna ayarlanır. Mevcut Çalışma Dizinini almak için python'da birçok modül bulunur. Python'da farklı modüller kullanarak Mevcut Çalışma Dizinini almanın yolları bu eğitimde gösterilmiştir.

Örnek-1: Geçerli Çalışma Dizinini almak için pathlib modülünü kullanma

yol sınıfı pathlib modülü yürütülmekte olan komut dosyasının geçerli çalışma dizinini okumak için kullanılır. Pathlib modülünü kullanarak mevcut çalışma dizinini okumak ve yazdırmak için aşağıdaki kodla bir python betiği oluşturun. NS cwd() yöntemi Path sınıfı, betiğin yürütülmekte olduğu mevcut çalışma dizinini yazdırmak için kullanılır.







# Pathlib modülünden Yolu içe aktarın

itibarenyol kütüphanesiiçe aktarmakYol

# Geçerli çalışma dizininin yolunu al

current_working_directory=Yol.cwd()

# Geçerli çalışma dizininin konumunu yazdır

Yazdır('Geçerli çalışma dizininin konumu:')

Yazdır(current_working_directory)

Çıktı:

Yukarıdaki betiği çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Burada, çıktıda komut dosyası adı olmadan geçerli çalışma dizininin yolu gösterilir.





Örnek-2: Geçerli Çalışma Dizinini almak için normpath() ve abspath() kullanma

Os modülünü kullanmak, mevcut çalışma dizinini almanın başka bir yoludur. Geçerli çalışma dizinini almak için os modülünün yol sınıfında farklı yöntemler bulunur. normpath() ve abspath() yöntemleri ikisidir. Bu yöntemler, geçerli çalışma dizinini bir dize olarak döndürür. Bu işlevlerin amaçlarını kontrol etmek için aşağıdaki komut dosyasıyla bir python dosyası oluşturun.





# İşletim sistemi modülünü içe aktar

içe aktarmak sen

# Geçerli çalışma dizinini normpath() işlevini kullanarak yazdırın

Yazdır('Geçerli çalışma dizini (normpath() kullanılarak):')

Yazdır(sen.yol.dirname(sen.yol.norm yolu(__dosya__)))

# abspath() işlevini kullanarak mevcut çalışma dizinini yazdırın

Yazdır(' Geçerli çalışma dizini (abspath() kullanarak) şudur:')

Yazdır(sen.yol.absat('.'))

Çıktı:

Yukarıdaki betiği çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Burada, çıktıda komut dosyası adı olmadan geçerli çalışma dizininin yolu gösterilir.



Örnek-3: Geçerli Çalışma Dizinini almak için realpath()'ı kullanma

NS gerçek yol() geçerli çalışma dizinini almak için başka bir yöntemdir. Geçerli çalışma dizinini komut dosyası adıyla yazdırmak için aşağıdaki komut dosyasıyla bir python dosyası oluşturun. realpath() yöntemi . Senaryoda, __dosya__ os modülünün içe aktarıldığı dosyanın yol adını içeren bağımsız değişken değeri olarak.

# İşletim sistemi modülünü içe aktar

içe aktarmak sen

# realpath() işlevini kullanarak mevcut çalışma dizinini okuyun

real_path= sen.yol.gerçek yol(__dosya__)

# Geçerli çalışma dizinini komut dosyası adıyla yazdırın

Yazdır(' Komut dosyası adıyla birlikte geçerli çalışma dizini:')

Yazdır(real_path)

Çıktı:

Yukarıdaki betiği çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Burada, çıktıda komut dosyası adıyla mevcut çalışma dizininin yolu gösterilir.

Örnek-4: Geçerli Çalışma Dizinini almak için getcwd()'yi kullanma

Kullanmak getcwd() işlevi os modülünün , yürütülmekte olan komut dosyasının mevcut çalışma dizinini almanın en basit yoludur. Herhangi bir argüman içermez ve CWD'yi bir dize olarak döndürür. Kullanımını kontrol etmek için aşağıdaki komut dosyasıyla bir python dosyası oluşturun. getcwd() işlevi . Geçerli çalışma dizini, komut dosyasının başında yazdırılır. Ardından, geçerli dizin yolu kullanılarak değiştirilir. chdir() işlevi . NS getcwd() komutu dizini değiştirdikten sonra tekrar çağrılır.

# İşletim sistemi modülünü içe aktar

içe aktarmak sen

# getcwd() işlevini kullanarak mevcut çalışma dizinini yazdırın

Yazdır('Geçerli çalışma dizini: ', sen.getcwd())

# Mevcut çalışma dizinini değiştir

sen.chdir('/ vb / posta')

# Değişiklikten sonra mevcut çalışma dizinini yazdır

Yazdır(' Değişiklikten sonra geçerli çalışma dizini: ', sen.getcwd())

Çıktı:

Yukarıdaki betiği çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Burada, dizini değiştirmeden önce komut dosyası adı olmadan geçerli çalışma dizini yolu yazdırılır. Ardından, değiştirilen dizin yolu yazdırılır.

Örnek-5: Geçerli Çalışma Dizinini almak için getcwd()'yi try-except ile kullanma

Geçerli çalışma dizinini giriş değerine göre değiştirmek ve farklı hata türlerini işlemek için aşağıdaki komut dosyasıyla bir python dosyası oluşturun. Komut dosyası yürütülerek üç tür hata işlenebilir. NS FileNotFoundError hatası girişten alınan yol yoksa üretilecektir. NS NotADirectoryError hatası girişten alınan yol bir dizin değilse oluşturulur. NS İzin Hatası hatası girişten alınan yola erişilemiyorsa oluşturulacaktır.

# os modülünü içe aktarın

içe aktarmak sen

# Dizinin yolunu girin

cwd= giriş('Geçerli çalışma dizininin yolunu girin: ')


denemek:

# Mevcut çalışma dizinini değiştir

sen.chdir(cwd)

# getcwd() işlevini kullanarak mevcut çalışma dizinini yazdırın

Yazdır('Geçerli çalışma dizini: ', sen.getcwd())

# Dizin yoksa hata yükselt

hariçFileNotFoundError:

Yazdır('Dizin mevcut değil.')

# Giriş yolu bir dizin değilse, hatayı yükseltin

hariçNotADirectoryError:

Yazdır('%s bir dizin değil'%(cwd))

# Dizine erişilemiyorsa hatayı yükseltin

hariçİzin Hatası:

Yazdır('Dizin değiştirme izni reddedildi.')

Çıktı:

Yol varsa, yukarıdaki komut dosyasını çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Burada alınan girdi yolu mevcuttur ve değiştirilen çalışma dizini çıktıda yazdırılır.


Yol mevcut değilse, yukarıdaki komut dosyasını çalıştırdıktan sonra aşağıdaki çıktı görünecektir.


Alınan yola erişilemiyorsa, yukarıdaki komut dosyasını çalıştırdıktan sonra aşağıdaki çıktı görünecektir.

Çözüm:

Geçerli çalışma dizinini okumak için pathlib ve os modüllerinin kullanımı, bu öğreticide farklı örnekler kullanılarak gösterilmektedir. Kullanıcı girişine göre mevcut çalışma dizinini değiştirdikten sonra mevcut çalışma dizinini almanın yolu da bu eğitimde gösterilmiştir.