Bundan sonraki örneklerde f adlı bir dosya nesnesinin
önceden oluşturulmuş olduğunu varsayacağız.
Dosyanın içeriğini okumak için belirli miktarda veriyi okuyup bunu
dizge olarak geri döndüren f.read(boy)yöntemi
kullanılabilir. boy okunacak bayt sayısını
belirleyen seçimlik bir argümandır; kullanılmaması halinde dosyanın
tamamı okunur. Dosyanın sonuna gelindiğinde f.read()
boş bir dizge ("") geri döndürür.
>>> f.read()
'Dosyanın tamamı bu satırdan oluşuyor.\n'
>>> f.read()
''
f.readline() dosyadan tek bir satır okur. Satırın
sonundaki satırsonu karakteri (\n) korunur; ancak
dosya bir satırsonu karakteri ile bitmiyor ise son satırda bu karakter
silinir. Bu özellik geri döndürülen değerin birden fazla anlama gelmesini
engeller; f.readline() boş bir dizge geri
döndürdüğünde dosyanın sonuna ulaşılırken boş bir satır tek bir
'\n' karakteri ile ifade edilir.
>>> f.readline()
'Bu dosyanın ilk satırı.\n'
>>> f.readline()
'Dosyanın ikinci satırı\n'
>>> f.readline()
''
f.readlines() dosya içindeki bütün satırların
bulunduğu bir liste geri döndürür. Seçimlik parametre
boy_ipucu kullanılması durumunda ise dosyadan
boy_ipucu kadar ve bundan bir satır tamamlamaya
yetecek kadar fazla bayt okunur ve bunlar yine satırlar listesi
şeklinde geri döndürülür.
>>> f.readlines()
['Bu dosyanın ilk satırı.\n', 'Dosyanın ikinci satırı\n']
f.write(dizge) yöntemi dizge
içeriğini dosyaya yazar ve None geri döndürür.
>>> f.write('Bu bir deneme satırıdır.\n')
f.tell() dosya nesnesinin dosya içindeki konumunu
belirten bir tamsayı geri döndürür (dosyanın başından bayt cinsinden
ölçülür). f.seek(uzaklık, nereden) ile de dosyanın
içinde istenen konuma gidilebilir. Konum, uzaklık
ile başvuru noktası nereden değerlerinin toplanması
ile bulunur. nereden 0 olursa dosyanın başını,
1 o andaki konumu, 2 ise dosyanın sonunu belirtir. nereden
kullanılmaz ise 0 olduğu varsayılır ve başvuru noktası olarak dosyanın
başı alınır.
>>> f=open('/tmp/workfile', 'r+')
>>> f.write('0123456789abcdef')
>>> f.seek(5) # Dosyadaki 5'inci bayta git
>>> f.read(1)
'5'
>>> f.seek(-3, 2) # Sondan 3'üncü bayta git
>>> f.read(1)
'd'
Dosya ile işiniz bittiğinde f.close() yöntemini
çağırarak dosyayı kapatabilir ve dosyanın işgal ettiği sistem
kaynaklarını serbest bırakabilirsiziz. f.close()
çağrıldıktan sonra dosya üzerinde başka işlem yapmaya devam etmek
mümkün değildir:
>>> f.close()
>>> f.read()
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ValueError: I/O operation on closed file
Dosya nesnelerinin isatty() ve
truncate() gibi pek sık kullanılmayan başka
yöntemleri de vardır.