Python os Modülü
Python’da dosya işlemlerini için os modülü vazgeçilmezdir. Bir işletim sisteminde dosya, dizin işlemlerini os modülü ile düzenlemekteyiz. Bu modül sayesinde farklı işletim sistemlerinde çalışabilecek dosya işlemleri yapmamızı sağmaktadır. Yani windows için yazmış olduğunuz bir program linux dosya sisteminde de çalışacaktır. OS Modülü bilgisayardaki dizin işlemlerini yapmamızı sağlar. Şimdi öncelikle os modülünü python dosyamıza çağıralım ve içerisindeki modülleri inceleyelim
1 2 3 4 5 | import os print(*dir(os),sep=" ") ##########EKRAN ÇIKTISI################ #DirEntry F_OK GenericAlias Mapping MutableMapping O_APPEND O_BINARY O_CREAT O_EXCL O_NOINHERIT O_RANDOM O_RDONLY O_RDWR O_SEQUENTIAL O_SHORT_LIVED O_TEMPORARY O_TEXT O_TRUNC O_WRONLY P_DETACH P_NOWAIT |
os.name Kullanımı
Bu metod işlemtim sistemi hakkında bize bilgi vermektedir.
1 2 3 4 5 | import os print(os.name) ##########EKRAN ÇIKTISI################ #nt |
Windows işleti sistemi üzerindeki çıktısı.
os.sep
İşletim sistemine göre dosya/dizin ayracını vermektedir. Windows için “\” çıktısını verirken linux için “/” çıktısını veriri.
1 2 3 4 5 | import os print(os.sep) ##########EKRAN ÇIKTISI################ #\ |
Verilen bir list dizini birleştirelim.
1 2 3 4 5 | import os dir=["c:","xampp","htdocs","myProject"] print(os.sep.join(dir)) ##########EKRAN ÇIKTISI################ #c:\xampp\htdocs\myProject |
os.getcwd
os.getcwd komutu verdiğimizde şuanki bulunuduğunuz dizini vermektedir.
1 2 3 4 5 | import os print(os.getcwd()) ##########EKRAN ÇIKTISI################ #C:\Users\webMaster\Desktop\python_document |
os.chdir
os.chdir bulunduğumuz dizinden başka bir dizine geçmemizi sağlamaktadır.
1 2 3 4 5 6 7 8 9 | import os print(os.getcwd()) #Şuanki dizinimiz dir="calismalar" #bir alt klasördeki \calismalar dosya yolu os.chdir(dir) #calismalar dizinine geçtik print(os.getcwd()) #şuanki diziniz yazdırdık ##########EKRAN ÇIKTISI################ #C:\Users\webMaster\Desktop\python_document #C:\Users\webMaster\Desktop\python_document\calismalar |
os.listdir
İçinde bulunduğunuz dizindeki dosya ve klasörlerin listelenmesini sağlamaktadır. Aktif olarak kullanılır.
1 2 3 4 5 6 7 | import os dir="calismalar" #bir alt klasördeki \calismalar dosya yolu os.chdir(dir) #calismalar dizinine geçtik print(os.listdir()) #şuanki diziniz yazdırdık ##########EKRAN ÇIKTISI################ #['1.jpeg', '2.jpeg', '3.jpeg', '4.png', 'caglar', 'deneme.txt', 'dosya.py', 'icerik-w', 'merhaba.txt', 'msyql.pdf', 'python-1.py', 'python-2.py', 'python-3.py', 'sinav-bilgi.pdf', 'test.pdf', 'Yeni Metin Belgesi.txt'] |
\calismalar dizini içerisine girerek burda bulunan dosya ve klasölere listeledik. Dosyalar uzantısı olmayan verilerdir.
Aşağıda ise aynı dizini döngüye sokarak listeledik.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import os dir="calismalar" #bir alt klasördeki \calismalar dosya yolu os.chdir(dir) #calismalar dizinine geçtik for i in os.listdir(): if "." in i: print("-",i,sep="") else: print("/",i,sep="") ##########EKRAN ÇIKTISI################ # -1.jpeg # -2.jpeg # -3.jpeg # -4.png # /caglar # -deneme.txt # -dosya.py # /icerik-w # -merhaba.txt # -msyql.pdf # -python-1.py # -python-2.py # -python-3.py # -sinav-bilgi.pdf # -test.pdf # -Yeni Metin Belgesi.txt |
Şimdi ise saydece .py uzantılı python dosyalarını listeledik.
1 2 3 4 5 6 7 8 9 10 11 12 | import os dir=os.getcwd()+os.sep+"calismalar"; #bir alt klasördeki \calismalar dosya yolu os.chdir(dir) #calismalar dizinine geçtik for i in os.listdir(): if i.endswith(".py"): print(i) ##########EKRAN ÇIKTISI################ # dosya.py # python-1.py # python-2.py # python-3.py |
os.curdir
İçerisinde bulunulan dizini temsil eden karateri veririr.
1 2 3 4 5 6 7 8 9 | import os print(os.curdir) # nokta verdi print(*os.listdir(os.curdir),sep="\n") #bulunduğumuz dizini listele dedik ##########EKRAN ÇIKTISI################ # . # test-2.py # test-3.py # test-4.py |
os.pardir
İşletim sistemine göre bir üst dizine çıkma karaterini dönderir. Windows’da “..” karakter dizisizdir.
1 2 3 4 5 6 7 8 9 | import os print(os.pardir) # iki nokta verdi print(os.getcwd()) # bulunduğumuz dizini yazdı os.chdir(os.pardir) # bir üst dizine çıktık print(os.getcwd()) # bulunduğumuz dizini yadık ##########EKRAN ÇIKTISI################ # .. # C:\Users\webMaster\Desktop\python_document # C:\Users\webMaster\Desktop |
os.startfile
Windows’da belirtilen dosyayı ilişkili program ile açmaya yarar.
1 2 | import os os.startfile("icerik.txt") |
os.mkdir
Klasör oluşturmak için kullanılan komut.
1 2 3 4 5 6 | import os os.mkdir("merhaba-python") print(os.listdir()) ##########EKRAN ÇIKTISI################ # ['merhaba-python'] |
os.makedirs
İç içe dosya, dizin oluşturmak için kullanılır.
1 2 3 4 5 6 7 8 | import os print(os.getcwd()) # bulunduğumuz dizini yazdık os.makedirs(os.getcwd()+os.sep+"a"+os.sep+"b"+os.sep+"c") # ilgili a\b\c dizinini oluşturduk os.chdir(os.getcwd()+os.sep+"a"+os.sep+"b"+os.sep+"c") # oluşturduğumuz dizine gittik print(os.getcwd()) # bulunduğumuz dizin yazdırdık. ##########EKRAN ÇIKTISI################ # C:\Users\webMaster\Desktop\python_document # C:\Users\webMaster\Desktop\python_document\a\b\c |
os.rename
Var olan bir klasörün adınız değiştirmek için kullanırız. İki parametre alır. 1. parametre dosyanın şuanki adı. 2. parametre ise yeni adıdır.
1 2 | import os os.rename("merhaba-python","python-merhaba") #merhaba-python adlı klasörü python-merhaba olarak değiştirdik. |
os.replace
os.rename ile aynı işlemi yapmaktadır. Var olan bir klasörün adını değiştirmeye yarar.
1 2 | import os os.replace("python-merhaba","python-m-e-r-h-a-b-a") #python-merhaba adlı klasörü python-m-e-r-h-a-b-a" olarak değiştirdik. |
os.remove
Var olan bir dosyayı silmeye yarar.
1 2 | import os os.remove("userData.txt") # ilgili dosyayı sildik |
os.rmdir
Belirtmiş olduğumuz boş bir dizini silmemize yarar.
1 2 | import os os.rmdir("python-m-e-r-h-a-b-a") # ilgili boş klasörü sildik |
os.removedirs
İç içe birden çok boş klasörü silmemize yarar.
1 2 | import os os.removedirs("a/b/c") # ilgili boş a,b ve c dizini sildi |
os.stat
Belirtilen dosya hakkında bilgi almak için kullanılır
st_size | boyutunu |
st_mtime | üzrinde yapılan son değişiklik tarihini |
st_ctime | oluşturulduğu ilk tarihi |
st_atime | ilgili dosyaya son erişim tarihi |
1 2 3 4 5 6 7 8 9 10 11 12 13 | import os print(os.stat("kullanicidan-bilgi-alma.txt")) # ilgili boş a,b ve c dizini sildi dsInfo=os.stat("kullanicidan-bilgi-alma.txt") print(dsInfo.st_atime) print(dsInfo.st_ctime) print(dsInfo.st_mtime) print(dsInfo.st_size) ##########EKRAN ÇIKTISI################ # os.stat_result(st_mode=33206, st_ino=281474977132777, st_dev=2121025048, st_nlink=1, st_uid=0, st_gid=0, st_size=9966, st_atime=1641755679, st_mtime=1615990913, st_ctime=1626070729) # 1641755679.3815272 # 1626070729.3500187 # 1615990913.62639 # 9966 |
os.system
İlgili programları ve sistem için geçerili olan komutları çalıştırmaya yarar.
1 2 | import os os.system(r"C:\xampp\xampp-control.exe") # ilgili dizindei .exe yi çalıştırdık. |
os.walk
Belirtilen dizini komple tarayarak listelemeye yarar.
1 2 3 4 5 6 7 8 9 10 | import os os.chdir(os.getcwd()+"\calismalar") for i in os.walk(os.getcwd()): print(i) ##########EKRAN ÇIKTISI################ # ('C:\\Users\\webMaster\\Desktop\\python_document\\calismalar', ['caglar'], ['1.jpeg', '2.jpeg', '3.jpeg', '4.png', 'deneme.txt', 'dosya.py', 'icerik-w', 'merhaba.txt', 'msyql.pdf', 'python-1.py', 'python-2.py', 'python-3.py', 'sinav-bilgi.pdf', 'test.pdf', 'Yeni Metin Belgesi.txt'])('C:\\Users\\webMaster\\Desktop\\python_document\\calismalar\\caglar', [], ['icerik-w.txt']) |
os.path.abspath
Belirtilen dosyanın tam yonlunu veririr
1 2 3 4 | import os print(os.path.abspath("islecler.txt")) #Ekran Çıktısı #C:\Users\webMaster\Desktop\python_document\islecler.txt |
os.path.dirname
Belirtilen dosyanın dizinini verir.
1 2 3 4 | import os print(os.path.dirname(r"C:\Users\webMaster\Desktop\python_document\islecler.txt")) #Ekran Çıktısı #C:\Users\webMaster\Desktop\python_document\islecler.txt |
os.path.exists
Belirtlen dizinin bulunup bulunmadığına bakara. Geriye True/False değer dönderir.
1 2 3 4 | import os print(os.path.exists(r"C:\Users\webMaster\Desktop\python_document\islecler.txt")) #Ekran Çıktısı #True |
os.path.expanduser
İligili kullanıcının adresini verir.
1 2 3 4 | import os print(os.path.expanduser("~")) #Ekran Çıktısı #C:\Users\webMaster |
os.path.isdir
Verilen bir dizinin varlğını kontrol eder.
1 2 3 4 | import os print(os.path.isdir(r"C:\Users\webMaster\Desktop\python_document")) #Ekran Çıktısı #True |
os.path.isfile
Belirtilen dizinin dosya olma durumunu kontrol der geriye True/False değer döner
1 2 3 4 | import os print(os.path.isfile(r"C:\Users\webMaster\Desktop\python_document\test-9.py")) #Ekran Çıktısı #True |
os.path.join
Liste olarak verilen dizini işletim sisteminin adres yapısına çevirir.
1 2 3 4 5 6 | import os diziList=r"C:\Users\webMaster\Desktop\python_document\test-9.py".split("\\") print(diziList) print(os.path.join(*diziList)) # ['C:', 'Users', 'webMaster', 'Desktop', 'python_document', 'test-9.py'] # C:Users\webMaster\Desktop\python_document\test-9.py |
os.path.split
Verilen bir dizinin son kısmının çıkarır.
1 2 3 4 5 6 7 | import os bas,son=os.path.split(r"C:\Users\webMaster\Desktop\python_document\test-9.py") print(bas) print(son) #C:\Users\webMaster\Desktop\python_document #test-9.py |
os.path.splitext
Belirtelen bir dizindeki dosyanın uznatınısı yarır.
1 2 3 4 | import os dizin=os.path.splitext(r"C:\Users\webMaster\Desktop\python_document\test-9.py") print(dizin) #('C:\\Users\\webMaster\\Desktop\\python_document\\test-9', '.py') |
OS Modülü hakkında bilgi paylaşımımız bu kardar. Başarlar.