selam aleykum python ile ilgili bir yardima ihtiyacım var çok uğraştım yapamadım,
open fonksiyonuyla dosyayı okutuyorum readlines ile
fakat dosyayi 0 dan deyilde 1 satirdan görmesini istiyorum, yani ilk satiri 0 olarak deyilde 1 olarak algilasin çünki kafam karişiyor
Metin dosyanın, birinci satırını sıfırıncı indeksle indekslemesi neden kafanı karıştırıyor?
indexini
-1+index şekllinde tanımla madem
sen index i 1 düşünürken o listelerken 0 olarak listeler olur biter.
Yapamadığın örnek kodu koyarsan, üzerinde göstermek daha kolay olur.
Evet kardeşim metin dosyasını 0 dan okuduğu için kafam karışıyor, mesela dosyanın 10-cu satrı için ben 9 yazmam gerekiyor bu şekilde kafam karışıyoR
readlines içerisine ne yazarsam 0 deyilde 1 den okumaya başlar
örnek kod
dosya=open("deneme.txt", "r", encoding="utf-8")
dosya1=dosya.readlines()
Metin dosyasında sıfırıncı satırı, (yani ilk satırı boş bırak ikinci satırdan başla yazmaya)
C, java, python gibi diller hep sıfırdan başlar, dilin şekli bu.
Ama söylediğim gibi dosyanın sıfırıncı satırını görmezden gelirsin, yada
dosya1=dosya.seek(1) komutu ile birinci satıra git dersen belki kafan karışmaz.
bu kodu deneyeceğim teşekkür ederim aslında 1 ay falan oldu pythona başladığım yazbel derslerinden öğreniyorum, sizin dediyiniz gibi metin dosyasında bir satiri buraksam yinede aynı şey olacağını tahmin ediyorum mesela metin dosyasındaki 2 ci satır yinede kodlarda 1 ci satir olarak gözükücek
Tavsiye etmem ama burada örneği var:
1’den başlarsanız uzun vadede daha çok kafanız karışır zira dildeki fonksiyonların tamamı 0’dan başlayan indeksleri baz alarak çalışıyor.
Niye böyle bir koda ihtiyacınız var? Döngü kullanmayı denediniz mi? Döngü kullanırsanız 9 yerine 10 yazmak (for i in range(10):
), hatta sayılar ile hiç uğraşmamak (for line in file.readlines():
) mümkün.
Böyle bir sonuç elde edebilmek için readlines
içerisine yazabileceğiniz hiçbir şey yok çünkü indeksin 0’dan başlaması tamamen list
tipi ile alakalı. readlines
da list
tipinde bir değer döndürüyor.