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

Popular posts from this blog

python - pro - 20 - SQLite

python - pro - 21 - NoSQL

python-beginner - 1 - strings splits