Python - Dosyalar G / Ç
Bu bölüm, Python'da bulunan tüm temel G / Ç işlevlerini kapsar. Daha fazla işlev için lütfen standart Python belgelerine bakın.
Ekrana Yazdırma
Çıktı oluşturmanın en basit yolu, virgülle ayrılmış sıfır veya daha fazla ifadeyi geçirebileceğiniz print deyimini kullanmaktır . Bu işlev, ilettiğiniz ifadeleri bir dizeye dönüştürür ve sonucu aşağıdaki gibi standart çıktıya yazar -
#!/usr/bin/python
print "Python is really a great language,", "isn't it?"
Bu, standart ekranınızda aşağıdaki sonucu verir -
Python is really a great language, isn't it?
Klavye Girişini Okuma
Python, varsayılan olarak klavyeden gelen standart girişten bir metin satırını okumak için iki yerleşik işlev sağlar. Bu işlevler -
- raw_input
- input
raw_input İşlevi
Raw_input ([istemi]) işlevi bir dizi (arka yeni satır kaldırma) gibi standart giriş ve geri döner işletmeye bir satır okur.
#!/usr/bin/python
str = raw_input("Enter your input: ")
print "Received input is : ", str
Bu, herhangi bir dizeyi girmenizi ister ve ekranda aynı dizeyi görüntüler. "Merhaba Python!" Yazdığımda çıktısı şöyle oluyor -
Enter your input: Hello Python
Received input is : Hello Python
giriş İşlevi
Girişi ([istemi]) işlevi giriş geçerli bir Python ifadedir ve size değerlendirilen sonuç döndürür varsayar dışında raw_input fonksiyonuna bilgi eşdeğerdir.
#!/usr/bin/python
str = input("Enter your input: ")
print "Received input is : ", str
Bu, girilen girdiye karşı aşağıdaki sonucu üretecektir -
Enter your input: [x*5 for x in range(2,10,2)]
Recieved input is : [10, 20, 30, 40]
Dosyaları Açma ve Kapatma
Şimdiye kadar, standart girdi ve çıktıyı okuyup yazıyordunuz. Şimdi, gerçek veri dosyalarını nasıl kullanacağımızı göreceğiz.
Python, dosyaları varsayılan olarak işlemek için gerekli temel işlevleri ve yöntemleri sağlar. Dosya işlemenin çoğunu birfile nesne.
açık İşlevi
Bir dosyayı okuyabilmeniz veya yazabilmeniz için, Python'un yerleşik open () işlevini kullanarak onu açmanız gerekir . Bu işlev birfile kendisiyle ilişkili diğer destek yöntemlerini çağırmak için kullanılacak nesne.
Sözdizimi
file object = open(file_name [, access_mode][, buffering])
İşte parametre ayrıntıları -
file_name - dosya_adı bağımsız değişkeni, erişmek istediğiniz dosyanın adını içeren bir dize değeridir.
access_mode- Erişim modu, dosyanın açılması gereken modu belirler, yani okuma, yazma, ekleme, vb. Olası değerlerin tam listesi aşağıda tabloda verilmiştir. Bu isteğe bağlı parametredir ve varsayılan dosya erişim modu okunur (r).
buffering- Arabelleğe alma değeri 0 olarak ayarlanırsa, arabelleğe alma gerçekleşmez. Arabelleğe alma değeri 1 ise, bir dosyaya erişilirken satır arabelleğe alma gerçekleştirilir. Arabelleğe alma değerini 1'den büyük bir tamsayı olarak belirtirseniz, arabelleğe alma eylemi belirtilen arabellek boyutuyla gerçekleştirilir. Negatifse, arabellek boyutu sistem varsayılanıdır (varsayılan davranış).
İşte bir dosyayı açmanın farklı modlarının bir listesi -
Sr.No. | Modlar ve Açıklama |
---|---|
1 | r Yalnızca okumak için bir dosya açar. Dosya tanıtıcısı dosyanın başlangıcına yerleştirilir. Bu varsayılan moddur. |
2 | rb Yalnızca ikili biçimde okumak için bir dosya açar. Dosya tanıtıcısı dosyanın başlangıcına yerleştirilir. Bu varsayılan moddur. |
3 | r+ Hem okumak hem de yazmak için bir dosya açar. Dosya tanıtıcısı dosyanın başlangıcına yerleştirilir. |
4 | rb+ İkili formatta hem okumak hem de yazmak için bir dosya açar. Dosya tanıtıcısı dosyanın başlangıcına yerleştirilir. |
5 | w Yalnızca yazmak için bir dosya açar. Dosya varsa dosyanın üzerine yazar. Dosya yoksa, yazmak için yeni bir dosya oluşturur. |
6 | wb Yalnızca ikili biçimde yazmak için bir dosya açar. Dosya varsa dosyanın üzerine yazar. Dosya yoksa, yazmak için yeni bir dosya oluşturur. |
7 | w+ Hem yazmak hem de okumak için bir dosya açar. Dosya varsa mevcut dosyanın üzerine yazar. Dosya yoksa, okumak ve yazmak için yeni bir dosya oluşturur. |
8 | wb+ İkili formatta hem yazmak hem de okumak için bir dosya açar. Dosya varsa mevcut dosyanın üzerine yazar. Dosya yoksa, okumak ve yazmak için yeni bir dosya oluşturur. |
9 | a Eklemek için bir dosya açar. Dosya varsa, dosya işaretçisi dosyanın sonundadır. Yani dosya ekleme modundadır. Dosya yoksa, yazmak için yeni bir dosya oluşturur. |
10 | ab İkili biçimde eklemek için bir dosya açar. Dosya varsa, dosya işaretçisi dosyanın sonundadır. Yani dosya ekleme modundadır. Dosya yoksa, yazmak için yeni bir dosya oluşturur. |
11 | a+ Hem eklemek hem de okumak için bir dosya açar. Dosya varsa, dosya işaretçisi dosyanın sonundadır. Dosya, ekleme modunda açılır. Dosya yoksa, okuma ve yazma için yeni bir dosya oluşturur. |
12 | ab+ İkili formatta hem eklemek hem de okumak için bir dosya açar. Dosya varsa, dosya işaretçisi dosyanın sonundadır. Dosya, ekleme modunda açılır. Dosya yoksa, okuma ve yazma için yeni bir dosya oluşturur. |
Dosya Nesne Nitelikler
Bir dosya açıldığında ve bir dosya nesneniz olduğunda, o dosyayla ilgili çeşitli bilgiler alabilirsiniz.
Dosya nesnesiyle ilgili tüm özniteliklerin bir listesi -
Sr.No. | Öznitelik ve Açıklama |
---|---|
1 | file.closed Dosya kapalıysa doğru, aksi takdirde yanlış döndürür. |
2 | file.mode Dosyanın açıldığı erişim modunu döndürür. |
3 | file.name Dosyanın adını döndürür. |
4 | file.softspace Print ile açıkça alan gerekiyorsa false, aksi takdirde true döndürür. |
Misal
#!/usr/bin/python
# Open a file
fo = open("foo.txt", "wb")
print "Name of the file: ", fo.name
print "Closed or not : ", fo.closed
print "Opening mode : ", fo.mode
print "Softspace flag : ", fo.softspace
Bu, aşağıdaki sonucu verir -
Name of the file: foo.txt
Closed or not : False
Opening mode : wb
Softspace flag : 0
Kapat () Yöntem
Bir dosya nesnesinin close () yöntemi tüm yazılmamış bilgileri temizler ve dosya nesnesini kapatır, bundan sonra başka yazma yapılamaz.
Python, bir dosyanın referans nesnesi başka bir dosyaya yeniden atandığında dosyayı otomatik olarak kapatır. Bir dosyayı kapatmak için close () yöntemini kullanmak iyi bir uygulamadır.
Sözdizimi
fileObject.close()
Misal
#!/usr/bin/python
# Open a file
fo = open("foo.txt", "wb")
print "Name of the file: ", fo.name
# Close opend file
fo.close()
Bu, aşağıdaki sonucu verir -
Name of the file: foo.txt
Dosyaları Okuma ve Yazma
Dosya nesnesi hayatımızı kolaylaştırmak için erişim yöntemleri kümesi sağlar. Dosyaları okumak ve yazmak için read () ve write () yöntemlerini nasıl kullanacağımızı görürdük .
Yazma () Yöntem
Yazma () metodu bir açık dosyaya herhangi bir dize yazar. Python dizelerinin yalnızca metne değil ikili verilere sahip olabileceğini unutmamak önemlidir.
Write () yöntemi dizenin sonuna bir satırsonu karakteri ('\ n') eklemez -
Sözdizimi
fileObject.write(string)
Burada geçirilen parametre, açılan dosyaya yazılacak içeriktir.
Misal
#!/usr/bin/python
# Open a file
fo = open("foo.txt", "wb")
fo.write( "Python is a great language.\nYeah its great!!\n")
# Close opend file
fo.close()
Yukarıdaki yöntem foo.txt dosyası oluşturur ve verilen içeriği o dosyaya yazar ve sonunda bu dosyayı kapatır. Bu dosyayı açarsanız, aşağıdaki içeriğe sahip olacaktır.
Python is a great language.
Yeah its great!!
Okuma () Yöntem
Okuma () metodu açık dosyasından bir dize okur. Python dizelerinin ikili verilere sahip olabileceğini unutmamak önemlidir. metin verilerinin dışında.
Sözdizimi
fileObject.read([count])
Burada aktarılan parametre, açılan dosyadan okunacak bayt sayısıdır. Bu yöntem, dosyanın başından okumaya başlar ve sayı eksikse, mümkün olduğunca, belki dosyanın sonuna kadar okumaya çalışır.
Misal
Yukarıda oluşturduğumuz foo.txt dosyasını alalım .
#!/usr/bin/python
# Open a file
fo = open("foo.txt", "r+")
str = fo.read(10);
print "Read String is : ", str
# Close opend file
fo.close()
Bu, aşağıdaki sonucu verir -
Read String is : Python is
Dosya Pozisyonları
Söyle () yöntem size dosya içinde mevcut konumu anlatır; diğer bir deyişle, sonraki okuma veya yazma, dosyanın başlangıcından itibaren bu kadar baytta gerçekleşecektir.
Arama (uzaklık [, başlangıç]) yöntemi geçerli dosya konumunu değiştirir. Ofset bağımsız değişken bayt sayısı Taşınacak gösterir. Den bağımsız değişken bayt Taşınacak olduğu referans konumunu belirtir.
Eğer gelen 0 olarak ayarlanır, bu araçlar referans konumu olarak dosyanın başlangıcına kullanımı durumu, 1 referans konumu olarak mevcut pozisyonu kullanmak ve daha sonra 2 olarak ayarlanmışsa, dosyanın sonuna referans konumu olarak alınacaktır .
Misal
Yukarıda oluşturduğumuz foo.txt dosyasını alalım .
#!/usr/bin/python
# Open a file
fo = open("foo.txt", "r+")
str = fo.read(10)
print "Read String is : ", str
# Check current position
position = fo.tell()
print "Current file position : ", position
# Reposition pointer at the beginning once again
position = fo.seek(0, 0);
str = fo.read(10)
print "Again read String is : ", str
# Close opend file
fo.close()
Bu, aşağıdaki sonucu verir -
Read String is : Python is
Current file position : 10
Again read String is : Python is
Dosyaları Yeniden Adlandırma ve Silme
Python os modülü, dosyaları yeniden adlandırma ve silme gibi dosya işleme işlemlerini gerçekleştirmenize yardımcı olan yöntemler sağlar.
Bu modülü kullanmak için önce onu içe aktarmanız gerekir ve ardından ilgili işlevleri çağırabilirsiniz.
Rename () Yöntemi
Adlandırma () metodu iki bağımsız mevcut dosya adını ve yeni bir dosya adı alır.
Sözdizimi
os.rename(current_file_name, new_file_name)
Misal
Aşağıda, var olan bir dosyayı yeniden adlandırmak için örnek verilmiştir test1.txt -
#!/usr/bin/python
import os
# Rename a file from test1.txt to test2.txt
os.rename( "test1.txt", "test2.txt" )
Remove () Yöntem
Silinecek dosyanın adını bağımsız değişken olarak sağlayarak dosyaları silmek için remove () yöntemini kullanabilirsiniz.
Sözdizimi
os.remove(file_name)
Misal
Mevcut bir test2.txt dosyasını silme örneği aşağıdadır -
#!/usr/bin/python
import os
# Delete file test2.txt
os.remove("text2.txt")
Python'daki Dizinler
Tüm dosyalar çeşitli dizinlerde bulunur ve Python da bunları işlemede sorun yaşamaz. os modülünde dizinleri oluşturmanıza, kaldırmanıza ve değiştirmenize yardımcı olan birkaç yöntem vardır.
Mkdir () Yöntem
Mkdir () yöntemini kullanabilirsiniz .osmodül mevcut dizinde dizinler oluşturmak için. Oluşturulacak dizinin adını içeren bu yönteme bir argüman sağlamanız gerekir.
Sözdizimi
os.mkdir("newdir")
Misal
Geçerli dizinde bir dizin testi oluşturma örneği aşağıdadır -
#!/usr/bin/python
import os
# Create a directory "test"
os.mkdir("test")
Chdir () Yöntem
Sen kullanabilirsiniz chdir () geçerli dizini değiştirmek için bir yöntem. Chdir () yöntemi, geçerli dizini yapmak istediğiniz dizinin adı olan bir bağımsız değişken alır.
Sözdizimi
os.chdir("newdir")
Misal
Aşağıda "/ home / newdir" dizinine gitmek için örnek verilmiştir -
#!/usr/bin/python
import os
# Changing a directory to "/home/newdir"
os.chdir("/home/newdir")
Getcwd () Yöntem
Getcwd () metodu görüntüler Geçerli çalışma dizini.
Sözdizimi
os.getcwd()
Misal
Geçerli dizini veren örnek aşağıdadır -
#!/usr/bin/python
import os
# This would give location of the current directory
os.getcwd()
Rmdir () Yöntem
Rmdir () metodu yöntemindeki bir bağımsız değişken olarak geçirilir dizini siler.
Bir dizini kaldırmadan önce, içindeki tüm içerik kaldırılmalıdır.
Sözdizimi
os.rmdir('dirname')
Misal
Aşağıda "/ tmp / test" dizinini kaldırmak için örnek verilmiştir. Dizinin tam olarak nitelenmesi gerekir, aksi takdirde o dizini geçerli dizinde arar.
#!/usr/bin/python
import os
# This would remove "/tmp/test" directory.
os.rmdir( "/tmp/test" )
Dosya ve Dizinle İlgili Yöntemler
Windows ve Unix işletim sistemlerindeki dosyaları ve dizinleri işlemek ve değiştirmek için çok çeşitli yardımcı yöntemler sağlayan üç önemli kaynak vardır. Bunlar aşağıdaki gibidir -
Dosya Nesnesi Yöntemleri : Dosya nesnesi, dosyaları işlemek için işlevler sağlar.
İşletim Sistemi Nesne Yöntemleri : Bu, dosyaları ve dizinleri işlemek için yöntemler sağlar.