merhaba arkadaşlar
bu konuda sizlere os modülünün kullanımını anlatacağım. Fakat os modülü ve işe yarar önce onu öğrenmeliyiz. Os modülü sizin işletim sisteminizin hizmetlerini python dosyanızda kullanabilmenizi sağlar. Eğer bilgisayarınızın bazı özelliklerini öğrenmek ve kullanmak istiyorsanız bu modül işinize yarar. Ben burada size fonksiyon fonksiyon tek tek anlatacağım. Fakat önce bir os modülünün fonksiyonlarını bir listeleyelim.
python
import os
dir(os)
diyerek os modülünün fonksiyonlarını listeleyelim.
bende şu çıktıyı verdi :
evet tabi ki biz bunların hepsini görmeyeceğiz. Şimdi os modülünün hangi path içinde olduğunu öğrenelim
python
import os
os.__file__
çıktı :
C:\\Python39\\lib\\os.py
evet şimdi fonksiyonları görebiliriz
"name" fonksiyonu
bu fonksiyon sizin işletim sisteminizi tespit etmenize yarar. siz şu komutu verdiğinizde
os.name
eğer windows iseniz nt linux iseniz posix mac iseniz… aslında bilmiyorum ben hayatım boyunca hiç mac kullanmadım. peki siz bunu ne için kullanacaksınız. mesela bir program yaptınız. linuxta çalışıyor windows’ta bocalıyor o zaman bunu kullanabilirsiniz
örneğin :
import os
if(os.name == 'nt'):
print('bu yazılım windowsta çalışmaz')
elif(os.name == 'posix'):
pass
çıktı :
bu yazılım windowsta çalışmaz(windows kullanıyorum)
system fonksiyonu
evet sonraki fonksiyonumuz. bu fonksiyon linuxta terminale windowsta cmdye komut vermeye yarar.
mesela linuxta sizin sevdiğiniz bir araç olsun güzel ama kullanımı çok zor. mesela nmap ve siz bununla port taraması yapan program yazacaksınız. o zaman bu system fonksiyonu çok işe yarar
örnek kod :
import os
cevap = input('ip adresi veya domain girin : ')
os.system('nmap '+cevap)
çıktı :
ip adresi veya domain girin : www.pythondersleri.com
(port taraması. bilgisayarımda nmap yok ta :) )
listdir fonksiyonu
listdir fonksiyonu bulunduğunuz dizindeki dosyaları listeler eğer cmd üzerinden python yazıp denediyseniz cmdye python yazmadan önce hangi dizinde iseniz o dizindeki dosyaları listeler.eğer bir py dosyasında kullandıysanız o dosyayı cmdden çalıştırırken hangi dizin üzerinden yaptıysanız o dizine tarama yapar. fakat eğer ki siz o listdir’e arguman olarak bir dizin verirseniz o dizine tarama yapar
örnek kod :
#linux ls komutu
import os # konumuz
import sys # arguman almak için kullandım sonra bununla ilgili konu da açacağım
cevap = sys.argv[1]
if(cevap == ''):
dosyalar = os.listdir()
else:
dosyalar = os.listdir(cevap)
i = 0
for dosya in dosyalar
i += 1
print(f'dosya {i} : {dosya}')
getcwd fonksiyonu
getcwd fonksiyonu os modülü ile şuan hangi dizinde olduğunuzu gösterir C:\Users\ klasörü yazıyorsa sadece C:\Users\ klasöründeki dosyaları görüntülersiniz. sadece o klasöre işlem yaparsınız örnek kod:
# pwd 2.0
import os
print(str(os.getcwd()))
chdir fonksiyonu
bu fonksiyon da bir dizinden başka bir dizine geçmeye yarar. Aynı cmddeki cd komutu gibi.
örneğin :
python
import os
os.getcwd()
os.chdir('C:/Users/')
os.getcwd()
çıktı :
mkdir fonksiyonu
mkdir fonksiyonu sizin bir klasör oluşturmanıza yarar fakat eğer klasör varsa hata verir.
örnek kod :
# klasör oluşturucu
import os
yolu = input('klasörün oluşturulacağı dizin : ')
adı = input('klasörün adı : ')
try:
os.mkdir()
except:
print('öyle bir klasör var başka bir ad veya yol girin')
rename fonksiyonu
rename fonksiyonu adı üstünde dosyaları yeniden adlandırır. bu fonksiyon iki arguman alır. dosyanın adı ve yeni adı mesela masaüstünde bir klasör oluşturun sonra cmd üzerinden o klasöre gelin. şimdi onun içinde de bir dizin oluşturun ve şimdi cmdye python yazın ve kodlar :
import os
os.listdir()
os.rename('kendi_dosyanız', 'yeni_adı')
os.listdir()
çıktı :
stat fonksiyonu
stat fonksiyonu bir dosyanın bilgilerini öğrenmemizi sağlar.
python
import os
os.stat('dosyanız')
çıktı :
evet arkadaşlar bu konuluk bu kadar.ben bu konuda örnekler ve kodlar için windows 10 üzerinden python 3.9.0 ile kodlarımı yazdım.sizin işleim sisteminiz veya python sürümünüz farklı ise kodlar çalışmayabilir. not : bu konu temel seviye python bilenler için hazırlanmıştır
görüşmek üzere