Python'da İşletim Sistemi İşlemleri

Python'da İşletim Sistemi İşlemleri

Python'da işletim sistemi işlemleri konusunda bilgi edinmek isteyenler için doğru adrestesiniz Bu yazıda, Python ile dosya işlemleri, klasör oluşturma ve silme, sistem komutları ve daha fazlası hakkında detaylı bilgi bulabilirsiniz Öğrenmek için tıklayın!

Python'da İşletim Sistemi İşlemleri

Python'un popülerliği giderek artıyor ve birçok insan tarafından tercih ediliyor. Bunun bir nedeni, Python'un işletim sistemi işlemlerini gerçekleştirirken kolaylık ve esneklik sağlamasıdır. Bu rehberimizde, python'da işletim sistemi işlemleri ve nasıl kullanılacakları hakkında ayrıntılı bilgi veriyoruz.

Python'un OS modülü, işletim sistemi işlemlerinin yanı sıra dosya işlemleri, dizin işlemleri ve argüman işlemleri için kullanılır. OS modülü, temel işletim sistemi görevlerinin çoğunu gerçekleştirmek için kullanılan bir modüldür.

Python'un işletim sistemi bağımsızlığı, farklı işletim sistemleri arasında taşınabilirlik sağlar. Bu nedenle, bir uygulama birden fazla platformda çalışabilir. Python, Linux, Mac ve Windows gibi birçok işletim sistemi platformunu destekler.

OS modülü ile bulunduğunuz dizini öğrenmek için, os.getcwd() fonksiyonunu kullanabilirsiniz. Dizin değiştirmek için ise os.chdir(path) fonksiyonunu kullanabilirsiniz. Ayrıca, os.listdir(path='.') fonksiyonu, belirli bir dizindeki tüm dosya ve klasörleri listeler.

Yeniden adlandırılan dizinin oluşturulmasını sağlamak için os.makedirs(path, exist_ok=False) fonksiyonunu kullanabilirsiniz. Python'daki çalışma dizini ise özellikle dosya ve dizin işlemleri yaparken oldukça önemlidir. Farklı yolları birleştirmek için, os.path.join() fonksiyonunu ve bir yolun mutlak dizinini bulmak için ise os.path.abspath() fonksiyonunu kullanabilirsiniz.

Dosya işlemleri de sıkça yapılan işletim sistemi işlemleri arasındadır. Dosya silme işlemi için os.remove(path) fonksiyonu kullanılırken, dosya adını değiştirmek için os.rename(src, dst) fonksiyonunu kullanabilirsiniz. Ayrıca, dosyayı kopyalamak için shutil.copyfile(src, dst) ve dosyayı ya da klasörü taşımak için shutil.move(src, dst) fonksiyonlarını kullanabilirsiniz.

Python argümanlarının ne olduğunu ve nasıl kullanıldıklarını da öğrenmek oldukça önemlidir. Komut satırı argümanlarını içeren listeyi sys.argv fonksiyonu ile elde edebilirsiniz.


OS Modülü Nedir?

Python'da işletim sistemleriyle ilgili işlemleri gerçekleştirmek için os modülü kullanılır. Bu modül, işletim sistemi işlemlerini gerçekleştirirken, işletim sistemine bağımlı olmadan çalışabilen bir mimariye sahiptir. OS modülü sayesinde, işletim sistemiyle ilgili birçok işlem yapılabilir.

OS modülü, işletim sistemi arayüzü, dosya / dizin yönetimi, işlem çalıştırma, argümanlar ve daha birçok işleme olanak tanır. İşletim sistemleri arasında kod paylaşımı ve taşınabilirliği sağlar.

OS modülüyle birçok işlem yapılabilir. Bunlar arasında; dizin işlemleri, dosya işlemleri, süreç yönetimi, dosya arama ve sistem bilgilerinin alınması gibi işlemler yer alır. OS modülü özellikle programcıların, programlarında işletim sistemine erişmek istedikleri durumlarda kullanabilecekleri güçlü bir araçtır.

Aşağıda birkaç OS modülü örneği verilmiştir:

Fonksiyon Açıklama
os.getcwd() Bulunduğunuz dizini gösterir.
os.listdir(path='.') Girilen dizindeki tüm dosya ve klasörleri listeler.
os.makedirs(path, exist_ok=False) Belirtilen yolda yeniden adlandırılan dizinin oluşturulmasını sağlar.

İşletim sistemleriyle ilgili birçok işlem için OS modülü kullanılabilir. Bu modül, işletim sistemiyle ilgili birçok bilgiyi içerir ve Python programlarında işletim sistemi bağımsızlığı sağlarken, güçlü bir katman sağlar.


İşletim Sistemi Bağımsızlığı

Python, oldukça popüler bir programlama dilidir ve dünya çapında birçok farklı işletim sistemini destekler. Bu, Python'un işletim sistemi bağımsızlığına sahip olduğu anlamına gelir. Python, Linux, Windows, macOS ve daha pek çok işletim sistemi için hazır kodlar sunar.

Python'un bu işletim sistemi bağımsızlığı, aynı kodları kolayca farklı platformlara taşımanızı sağlayabilir. Bu da uygulama geliştiricileri için oldukça faydalıdır çünkü uygulamanın tüm kullanıcılarının farklı işletim sistemlerinde sorunsuz bir şekilde çalışmasını sağlar.

Bunun yanı sıra, Python standardı olan kütüphaneleri ve modülleriyle, pek çok işletim sistemi özelliğini destekler. Örneğin, os modülü, Python'un çoğu işletim sisteminde çalışan işletim sistemi işlevlerini kullanmanızı sağlar. Benzer şekilde, glob modülü farklı işletim sistemlerinde farklı kelime düzenlerini kullanıyor olmanıza rağmen, dizin ve dosya adlarıyla ilgili işlemleri yapmanızı sağlar.

Tabii ki, belirli Python paketleri yalnızca belirli işletim sistemlerinde çalışabilir. Bu, uygulama geliştiricilerinin kullandıkları paketlerin ne işletim sistemleri tarafından desteklendiğini anlamalarını gerektirir. İşletim sistemi bağımsızlığı, Python'u geliştiriciler için daha esnek ve kullanışlı hale getirir, ancak yine de uygulamanızı doğru şekilde test etmeniz gerektiğini unutmayın.


os.getcwd()

os.getcwd(), Python'da mevcut çalışma dizininizi döndürür. Bu, hangi dizinde Python kodunun çalıştığını anlamak için son derece önemlidir. Bu yöntemin hiçbir argümanı yoktur ve yalnızca mevcut çalışma dizininin tam yolunu döndürür. Örnek olarak:

Kod Çıktı
import os
print(os.getcwd())
C:\Users\KullanıcıAdı\Desktop

Bu kod, mevcut çalışma dizinini bulmak için os modülünü kullanır ve sonrasında print komutuyla çıktı olarak dizinin tam yolunu verir.


os.chdir(path)

Python'daki os modülü, işletim sistemiyle iletişim kurmak ve işletim sistemi işlemlerini gerçekleştirmek için kullanılır. Bu modül, dosya yönetimi, klasör oluşturma, dosya silme, çalışma dizini ayarlama ve birçok işletim sistemi işlemi dahil olmak üzere çeşitli fonksiyonlar içerir. Bunlardan birisi de os.chdir(path) fonksiyonudur.

os.chdir(path), verilen yol adına sahip dizine geçişi sağlar. Bu işlev ile mevcut çalışma dizinini değiştirmek mümkündür. Bu fonksiyon için parametre olarak belirtilen yol, mutlak veya göreceli bir yol olabilir. Yol, dizin adı ve yol adı olarak tanımlanabilir.

Yol adı, kök dizinleri ve göreceli ana dizinleri temsil edebilir. Göreceli ana dizin, '../' veya './' gibi bir dizin adı olabilir.

Bu fonksiyon, çalışma dizinini belirtilen yolda belirtilen dizine değiştirerek, belirtilen dizine geçişi sağlar. Fonksiyon parametresi olarak belirtilen path değişkeni, belirtilen dizine geçişi sağlayan yol adını verir.


os.listdir(path

Python'da işletim sistemi işlemleri hakkında ayrıntılı bir rehber arayanlar için, OS modülü oldukça önemlidir. OS, İşletim Sistemi anlamına gelir ve işletim sistemi hakkında bilgi edinmek ve işletim sistemi ile birlikte çalışmak için gereklidir. OS modülü, Python'da işletim sistemi bağımsızlığı sağlar. Bu, Python'un hangi işletim sistemlerinde desteklenen bir dildir ve farklı işletim sistemlerinde aynı işi yapmak için kullanılabilir.

os.listdir() fonksiyonu, girilen dizindeki tüm dosya ve klasörleri listeler. Varsayılan olarak, os.listdir() fonksiyonu çalışma dizininin tüm içeriğini listeler. İsterseniz belirli bir yolu belirtmek için, dizin yolunu bir argüman olarak os.listdir() fonksiyonuna geçmeniz gerekir. Daha açık bir deyişle, bu komut girilen yolu dikkate alarak dizindeki tüm dosya ve klasörleri listeler.

Aşağıdaki örnek kod, os.listdir() fonksiyonunun kullanımını gösterir:

Kod Açıklama
import os
os modülünü içe aktarıyoruz.
print(os.listdir())
Dosyaları ve klasörleri yazdırıyoruz.
print(os.listdir("C:\\Users"))
C:\Users dizinindeki bütün dosyaları ve klasörleri yazdırıyoruz.

Yukarıdaki örnekte, os.listdir() fonksiyonunu kullanarak, komut dosyasının çalıştığı dizindeki dosya ve klasörler listelenir. Daha sonra, "C:\\Users" dizininin içindeki dosya ve klasörleri listelemek için os.listdir() fonksiyonunu kullandık. Bu örnek, os modülünü ve os.listdir() fonksiyonunu nasıl kullanabileceğinizi anlamanıza yardımcı olacaktır.


os.makedirs(path, exist_ok

Python işletim sistemi işlemleri arasında, belirtilen yolda yeni bir dizin veya dizinler oluşturmanızı sağlayan os.makedirs() fonksiyonu vardır. Bu fonksiyon, belirtilen yolu izleyerek, yolun var olan bölümleri arasında yeni bir dizin oluşturur. Söz konusu dizin, ebeveyn dizinin bir alt dizini olarak kaydedilir.

İlk argüman olarak yaratılacak dizinin tam yolu girilirken exist_ok=False varsayılanı kullanılarak, daha önceden aynı isme sahip dosya veya dizin oluşturulduysa hata mesajı verilir. Ancak exist_ok=True kullanılırsa, hata mesajı yerine bir işlem yapılmadan devam edilir.

Bir örnek ile açıklamak gerekirse, /home/kullanıcı/klasör1/klasör2 şeklinde bir dosya yolu belirtilirse, os.makedirs() fonksiyonu önce /home dizinini kontrol eder. Ardından, kullanıcı dizinine giderek bu dizinde klasör1 olup olmadığını kontrol eder. Eğer klasör1 dizini yoksa, fonksiyon bu dizini oluşturur ve ardından klasör2 dizinini yaratır.


Çalışma Dizini

Python işletim sistemi işlemleriyle ilgili olarak başarılı bir şekilde kullanılabilmektedir ve bu, bazı standart modüller tarafından sağlanmaktadır. Bu modüllerden biri, işletim sistemi işlemleri yapmak için kullanılan os modülüdür.

Çalışma dizini, işlem sırasında varsayılan olarak kullanılan dizindir. Python, çalışma dizinini belirlemek için os.getcwd() yöntemini sağlar. Ayrıca, os.chdir(path) yöntemi ile dizin değiştirilebilir. Bunlara ek olarak, os.listdir(path=’.’) yöntemi ile de girilen dizindeki tüm dosya ve klasörler listelenebilir.

Python ayrıca, os modülü ile birlikte birçok yöntem sunar, örneğin os.makedirs(path, exist_ok=False) yöntemi. Bu yöntem, belirtilen yolda yeniden adlandırılan dizinin oluşturulmasını sağlar. Bunun için öncelikle os.makedirs('new_folder') yöntemi çağrılır ve ardından varsa var olan bir dizinin yeniden adlandırılmasına izin verilir.

Python'daki os.path modülü, dosya işlemlerinde çok kullanışlıdır. os.path.join() yöntemi, farklı yolları birleştirmek için kullanılır. os.path.abspath() yöntemi, bir yolun mutlak dizinini bulmak için kullanılır.

Python'da çalışma dizini ve dosya işlemleri, özellikle programlama ve yazılım geliştirme alanlarında kullanılmaktadır. Amacı, verilerin yönetiminde en uygun ve kolay yolu sağlamaktır.


os.path.join()

Python'da çalışırken, birden fazla yolu birleştirmek zorunda kalabilirsiniz. Bu durumda, os.path.join() fonksiyonundan yararlanabilirsiniz. Bu fonksiyon, verilen yolları birleştirmenize olanak tanır.

Fonksiyon, bir veya daha fazla yolu birleştirebilir. Örneğin:[/p]

Kod Çıktı
os.path.join("C:", "Users", "johndoe", "Documents") 'C:\\Users\\johndoe\\Documents'
os.path.join("C:", "Windows", "System32", "notepad.exe") 'C:\\Windows\\System32\\notepad.exe'

Not: Windows işletim sistemlerinde, yollar \ karakteriyle ayrılırken, Unix bazlı işletim sistemlerinde yollar / karakteriyle ayrılır.

Birleştirme işleminde, yolların başında veya sonunda bulunan gereksiz bölümler kaldırılarak daha temiz bir yol elde edilebilir. İşte bir örnek:

Kod Çıktı
os.path.join("/home/user/", "/documents", "file.txt") '/home/user/documents/file.txt'

Bu örnekte, /home/user/ yolu en başta bulunuyor. İkinci yol olan /documents 'a erişmek istiyoruz ve ardından bir dosya olan file.txt 'i bu dizinde bulmak istiyoruz.

os.path.join() , yolları birleştirme işlemini yaparken, sistem bağımsızlığı sağlar. Bu nedenle, kaynak kodlarını farklı işletim sistemlerinde çalıştırmak mümkündür.


os.path.abspath()

os.path.abspath() işlevi, geçerli olan dizin veya yolun mutlak yolunu döndürür. Mutlak yol, disk sürücüsünün adı veya işletim sistemi adı ile başlayan tam yol adıdır. Bu işlev, herhangi bir işletim sistemi için kullanılabilir.

Bir örnek verecek olursak, ‘dosyalar/makale.doc' adlı bir dosya var ve bu dosya, ‘documents/' klasörü içinde bulunuyor. Dosyanın mutlak yolu, ‘/users/pc/documents/dosyalar/makale.doc' olur. Bu işlev, göreceli yolları mutlak bir yolda dönüştürmek için de kullanılabilir.

os.path.abspath() işlevi bir parametre kabul eder. Bu örnek, kullanıcı işlemcisinde bulunan Python dosyasının tam yol adını döndürür:

Kod: Sonuç:
import os
print(os.path.abspath('__file__')) /Users/pc/Desktop/python/program.py

Burada ‘__file__' özelliği, bulunduğu Python dosyasının tam yolunu verir. İşlevi kullanarak __file__ özelliğinin mutlak yolunu döndürüyoruz. Bu, Python dosyasını çalıştırdığımız klasörün tam yolunu döndürür.


Dosya Yönetimi

Python'da dosya işlemleri oldukça önemli bir konudur. Dosya oluşturma, silme, kopyalama ve taşıma gibi işlemler, birçok uygulamada kullanılmaktadır. Python, bu işlemleri gerçekleştirebilmek için birçok özellik sunar. Bu özellikler sayesinde, dosya yönetimi oldukça kolay hale gelir.

Örneğin, bir dosyayı silmek için, os.remove() fonksiyonu kullanılır. Bu fonksiyon, belirtilen dosyayı siler. Aşağıda, diğer dosya işlemleri fonksiyonlarına ait detaylı açıklamalar yer almaktadır:

Fonksiyon Açıklama
os.remove(path) Dosyayı siler.
os.rename(src, dst) Dosya adını değiştirir.
shutil.copyfile(src, dst) Dosyayı kopyalar.
shutil.move(src, dst) Dosyayı ya da klasörü taşır.

Bu fonksiyonlar, dosya işlemlerini gerçekleştirmek için oldukça yararlıdır. Bununla birlikte, bu fonksiyonların kullanımında dikkatli olunmalıdır. Özellikle, dosya silme ve taşıma işlemleri yaparken, yanlışlıkla önemli dosyaların silinmesi veya taşınması gibi bir durum söz konusu olabilir. Bu nedenle, bu fonksiyonlar kullanılırken, mutlaka dikkatli olunmalıdır.


os.remove(path)

Python ile dosya yönetimi, bir işletim sistemi üzerinde dosya oluşturma, açma, okuma, yazma, silme gibi işlemleri gerçekleştirebilirsiniz. Python'un os modülü ile dosya silme işlemi oldukça basittir.

os.remove() bir dosyayı silmek için kullanılır. Dosya yolu (path) parametresi olarak belirtilir. Dosyayı kaldırmak için varsa açık dosya tutucuları kapatılmalıdır. Aksi takdirde, bir hata gösterilecektir.

Parametreler: Açıklama:
path Silmek istediğiniz dosyanın yolu

Örneğin:

  • Dosyayı silmek için aşağıdaki kodu kullanabilirsiniz:
import osos.remove("deneme.txt") # dosyayı siler

Aradığınız dosya yoksa veya dosya adı yanlışsa FileNotFoundError hatası alırsınız.

Silme işlemi geri alınamaz. Bu nedenle, bir dosyayı silmeden önce lütfen dikkatli olunuz.


os.rename(src, dst)

Python'daki os modülündeki rename fonksiyonu, mevcut bir dosyanın adını değiştirmek için kullanılır. src argümanı, dosyanın mevcut adını ve yolu içerirken, dst argümanı, dosyanın yeni adını ve yolunu belirtir.

Bir örnek ile açıklamak gerekirse, var olan bir dosya adını "example.txt" olan bir dosyayı "new_example.txt" olarak değiştirmek istediğinizi varsayalım. Bu durumda, src argümanı olarak "example.txt" yolunu ve dst argümanı olarak "new_example.txt" yolu verilmelidir.

Aşağıdaki örnekte, mevcut bir dosyanın adının değiştirilmesi gösterilmektedir.

Örnek KodÇıktı
import osos.rename("example.txt", "new_example.txt")

Yukarıdaki örnekte, mevcut "example.txt" dosyasının adı ve yolunu src argümanı olarak verilirken, yeni ad ve yol olan "new_example.txt" ise dst argümanı olarak verilmiştir.

İşlem başarılı bir şekilde gerçekleşirse, çıktısı boş olacaktır. Eğer işlem başarısız olursa, hata verir ve hata mesajını ekrana yazdırır.

Unutmayın ki, src ve dst argümanları dosyaların mutlak ya da göreceli yollarını içerir.


shutil.copyfile(src, dst)

Python'da dosya kopyalama işlemi, shutil modülü altındaki copyfile() fonksiyonu aracılığıyla gerçekleştirilebilir. Bu fonksiyon, kaynak dosyayı hedef dosyaya kopyalamak için kullanılır. Fonksiyon, kaynak dosya yolunu ve hedef dosya yolunu belirtmek için iki argüman (src ve dst) kullanır.

İki dosya yolunu sağlamak dışında herhangi bir parametre gerektirmez ve dosyayı kopyalamak için standart bir kopyalama işlemi kullanır.

Kaynak dosya bulunamazsa veya herhangi bir yazma izni yoksa, hata mesajı görüntülenebilir. Ayrıca, hedef dosya yolu verilmezse, kaynak dosya adı varsayılan olarak kullanılacaktır.

İşte bir örnek kod:

import shutilshutil.copyfile('/home/user/Documents/file.txt', '/home/user/Downloads/file_copy.txt')

Bu örnek kodda, file.txt adlı dosya /home/user/Documents/ dizininde bulunuyor. İlgili dizinde file_copy.txt adlı bir dosya oluşturulur ve file.txt içeriği file_copy.txt'a kopyalanır.


shutil.move(src, dst)

shutil.move() fonksiyonu, belirtilen kaynak dosya veya klasörü hedef dizine taşır. Bu işlem, kaynak dosyanın hedef dizine kopyalanması ve kaynak dizinde silinmesi yoluyla gerçekleştirilir.

shutil.move() fonksiyonunun kullanımı için iki adet argüman belirlenir. Kaynak dizin veya dosyanın yolunu belirten src ve hedef dizinin yolunu belirten dst. Ayrıca, shutil.move() fonksiyonu, hedef dizinde aynı isimde bir dosya veya klasör varsa hata verir. Bu durumda hedef dizindeki isim farklı bir isimle kopyalanır.

shutil.move() fonksiyonun kullanımı aşağıdaki gibi gösterilebilir:

Parametre Açıklama
src Taşınacak dosyanın veya klasörün yolu
dst Taşınacak dosyanın veya klasörün hedef yolu
import shutilsrc = "C:/users/user/Desktop/file.txt"dst = "C:/users/user/Documents/new_location/file.txt"# dosyayı taşıshutil.move(src, dst)print("Dosya Taşıma İşlemi Tamamlandı.")

Bu örnekte, "file.txt" isimli dosya başlangıçta Masaüstünde yer almaktadır. Taşınacak hedef dizin ise Documents klasörünün içinde yeni oluşturulan "new_location" klasörüdür. shutil.move() fonksiyonu, dosyayı kaynak dizinden hedef dizine taşır ve sonrasında print() fonksiyonu ile taşıma işleminin tamamlandığı ekrana yazdırılır.

shutil.move() fonksiyonu, dosya taşımanın yanı sıra klasör taşıma işlemlerinde de kullanılabilir. Bu durumda, taşınacak olan klasörün içindeki tüm dosya ve alt klasörler de hedef dizine taşınır.


Argümanlar

Argümanlar, bir Python betiği çalıştırıldığında, programın başlatıcısı tarafından girilen verilerdir. Bu argümanlar, Python tarafından sys.argv listesi içinde depolanır. Argümanlar, bir programın belirli bir dosyayı açması veya verilen bir dizinde arama yapması gibi program işlemlerinin sırasını belirlemek için kullanılabilir.

sys.argv, sıfır tabanlı bir listedir. İlk öğe, Python betiği dosyasının adını içerir. sys.argv listesinin ikinci elemanı, betik dosyasına geçirilen ilk argümandır. Sırayla, sys.argv listesindeki her öğe, betik dosyasına geçirilen bir sonraki argümanı içerir. Betik dosyasına hiçbir argüman geçirilmezse, sys.argv listesi sadece betik dosyasının adını içerir.

Argümanlar, bir programın davranışını belirlemek için kullanılabilir. Bir betiği farklı şekillerde çalıştırarak, programın hangi dosya veya dizinleri işlediği vb. konularında farklı sonuçlar almak mümkündür. Örneğin, bir programın çıktısını farklı bir dosyaya kaydetmek için argüman olarak bir dosya yolunu kullanabilirsiniz.


sys.argv

işlevi, programların çalıştırılması sırasında komut satırından argümanlar alarak daha dinamik olmalarını sağlar. Bu argümanlar, kodunuzu daha uzun veya daha kısa hale getirmek, farklı değerler veya parametreler eklemek veya yerel olarak belirlenen dosyaları okuyup yazmak için kullanılabilir. Sistemin varsayılan dili İngilizce olduğundan, desktop veya laptop'un dilinin İngilizce veya Türkçe olması durumunda ihtiyacınız olduğu argümanları kullanarak kodunuzu yürütebilirsiniz.

sys.argv, bir Python listesi olarak döndürülür ve programın çalıştırıldığı komut satırı argümanlarını içerir. Komut satırındaki ilk argüman, programın kendisi olacağından, asıl komut satırı argümanları listesi, sys.argv'nin ikinci öğesinden başlayarak gelir.

Bir argümanı belirlemek için, sys.argv[index] kullanarak indeks numarasını belirleyin. 0'dan başlayan ilk argüman, dosya adı veya python komutunu belirleyen .py dosyasıdır. Ardından gelecek argümanlar, programınızda nasıl kullanmak istediğinize göre belirlenir.

Örneğin, eğer bizim bir programımız var ve programımız bir dosyadan argümanları okuyacaksa, bizim programımızı aşağıdaki gibi çalıştırabiliriz:

python örnek_program.py dosya_text.txt

Bu örnekte, ikinci argüman (sys.argv[1]), dosya_text.txt dosyasını belirtir.

Sonuç olarak, sys.argv'nin kullanımı, kodunuzu daha dinamik, daha esnek ve daha kullanışlı hale getirerek, belirtilen parametreleri kullanarak programınızın nasıl kullanılacağına dair daha fazla kontrol sağlar.