python - intermediate - 10 - File management
Dosya yönetimi
w: write
a) Yazma modu: dosya içeriğini her defasında silip yeni veriyi yazar
b) Oluşturma modu olarak kullanımı: dosyayı konumda oluşturur. + içine yazı ekler
Dosya oluşturma
result = open("newfolonın.txt","w")
print(result)
#
<_io.TextIOWrapper name='newfolonın.txt' mode='w' encoding='cp1254'>
baska konumda
file = open("C:/Users/HP/Desktop/newtoto.txt","w")
Dosya kapatılmasi
Dosya bilgisayar kaynaklarini (memory) tuketmemesi icin muhakkak kapatilmali
file = open("newfolonın.txt","w")
file.close()
açma ve yazdırma
ile = open("newfile.txt","w")
file.write("manana esta bueno")
file.close()
#newfile.txt icerigi:
manana esta bueno
turkce encoding
file = open("newfile.txt","w",encoding='utf-8') #tutkce karakteri tanimasi icin
a: append
a) Ekleme.
b) Dosya konumda yoksa oluşturur
file = open("newfile.txt","a",encoding='utf-8')
file.write("\nüsküdara gider iken altıda bir yağmur")#\n new line
file.close()
# not: '\n' olmasaydi, yan yana eklerdi
manana esta bueno
üsküdara gider iken altıda bir yağmur
x: create
Oluşturma. Dosya zaten varsa hata verir. - sadece dosya oluşturur -
file = open("newfile2.txt","x",encoding='utf-8')
file.close()
ikinci defa çalıştırdığımızda hata verir:
#
FileExistsError: [Errno 17] File exists: 'newfile2.txt'
r: read
Okuma:
try:
file = open("newfile.txt","r")
print(file)
except FileNotFoundError:
print("dosya okuma hatasi")
finally:
print("dosya kapandi")
file.close()
okuyup ekrana yazdirma icin for dongusu kullanmak
file = open("newfile.txt","r",encoding="utf-8")
for i in file:
print(i)
file.close()
#
manana esta bueno
üsküdara gider iken altıda bir yağmur
veya , boş satır olmadan gelmesini istersek \n veya "" kullanilmali
file = open("newfile.txt","r",encoding="utf-8")
for i in file:
print(i, end="")
file.close()
#
manana esta bueno
üsküdara gider iken altıda bir yağmur
not: read ile hersey sonuna kadar okur, okumayi bitirdikten sonra cursor, yazi sonundadir. Ikinci read komutu olsaydi, boş gösterirdi, yani hiç birşey yazdıramazdı
başka metod:
file = open("newfile.txt","r",encoding="utf-8")
content = file.read()
print(content)
file.close()
#
manana esta bueno
üsküdara gider iken altıda bir yağmur
ilk 5 karakteri okuma
file = open("newfile.txt","r",encoding="utf-8")
content = file.read(5)
print(content)
file.close()
#manan
Şu anda cursor 5. karakter sonundadır
tekrar çalıştığında 5, karakterden itibaren okur
ile = open("newfile.txt","r",encoding="utf-8")
content = file.read(5)
print(content) #manan
content = file.read(4)
print(content) # a es
file.close()
#
manan
a es
tek satir okuma
file = open("newfile.txt","r",encoding="utf-8")
content = file.readline()
print(content)
file.close()
#
manana esta bueno
ikinci komutta, cursor kaldiğı yerden devam eder
file = open("newfile.txt","r",encoding="utf-8")
content = file.readline()
print(content+"*****")
content = file.readline()
print(content)
file.close()
#
manana esta bueno
*****
üsküdara gider iken altıda bir yağmur
listeye dönüştürme
file = open("newfile.txt","r",encoding="utf-8")
content = file.readlines()
print(content)
#veya print(content[0]) ile ilk array`e ulasiriz
#
['manana esta bueno\n', 'üsküdara gider iken altıda bir yağmur']
sona close komutu koymak yerine with komutu kullnimi
with open("newfile.txt","r",encoding="utf-8") as file:
content = file.read()
print(content)
#
manana esta bueno
üsküdara gider iken altıda bir yağmur
cursor`un oldugu konumu elde etmek
print (file.tell())
#
60 #60 karakter sonu = yazi sonu -- array sıfır'dan başlar
cursor`u istenilen konuma göndermek
print (file.seek(0)) # en başa gönderir -- array sıfır'dan başlar
Comments
Post a Comment