• 07-10-2017, 17:21:30
    #10
    txt dosyanın yapısı nedir. Örneğin notepad açarak
    3
    5
    6
    gir ve veri.txt olarak kaydet.
    Şimdi
    dosya = open('veri.txt', 'r')
    tt = []
    for line in dosya:
        line = line.strip()        #satir sonlarını kaldır
        if line != '':             #dosyadaki boş satirlara karsi onlem
            tt.append(line)
    şeklinde tt listesinin elemanlarını dosyadan girebilirsin. Ama metin dosyanın yapısı farklıysa (örneğin 3, 5, 6 gibi tek sadırda veriyorsa verileri fonksionu uyarlamak gerekir)
  • 07-10-2017, 17:33:05
    #11
    Üyeliği durduruldu
    Tek kelimeyle harikasın hocam. Allah razı olsun şıp diye çözüyorsun peki bu hangi dosyaya yazılacaıgını hangi dosyadan veri cekileceğini editle değilde komut satırından belirlemek isteseydik böyle birşey mümkünmüydü ? Sürekli extra cıkarıyorum k.bakma çözümden ziyade cevabın bile yeterli olacaktır cok gerekli değil cünki sadece merak..
    zembla adlı üyeden alıntı: mesajı görüntüle
    txt dosyanın yapısı nedir. Örneğin notepad açarak
    3
    5
    6
    gir ve veri.txt olarak kaydet.
    Şimdi
    dosya = open('veri.txt', 'r') tt = [] for line in dosya: line = line.strip() #satir sonlarını kaldır if line != '': #dosyadaki boş satirlara karsi onlem tt.append(line)
    şeklinde tt listesinin elemanlarını dosyadan girebilirsin. Ama metin dosyanın yapısı farklıysa (örneğin 3, 5, 6 gibi tek sadırda veriyorsa verileri fonksionu uyarlamak gerekir)
  • 07-10-2017, 18:10:44
    #12
    Hocam komut satırı yerine doğrudan programın içinden alsan daha iyi. Bende 3.6 var sen sanırım 2.7 sürümünü kullanıyorsun. Biraz farklı ama şöyle olmalı. Dosya adlarını vs. programın en başında alabilirsin.
    tt_giris_dosya_adi = raw_input('tt listesinin dosyasının adini girin: ')
    Bu senin girdiğin inputu tt_giris_dosya_adi değişkenine string olarak atayacak.
    Buna normalde tt.txt veya veri.txt gibi bir dosya adı girmek gerekl. Kullanmak için
    dosya = open(tt_giris_dosya_adi, 'r')
    şeklinde kullanabilirsin.
    Diğer dosyalar, çıkış dosyaları vs. hepsini programın en başında değişkenlere atayabilirsin. Tabi programın geri kısmında sabit dosya adı vs. değil de değişlenleri kullanmak gerekecek.
    Edit: Pardon komut satırı deyince windows CMD anladım. CMD'den kullanırken 'python aa.txt, bb,txt' gibi varyasyonlar da var sanırım. Neyse siz normal Python penceresi komut satırı dediniz sanırım.
  • 07-10-2017, 18:43:51
    #13
    Üyeliği durduruldu
    Anladım hocam. Hatta uyguladım da güzelde oldu. Programı da farklı bir program yaptık sayende. Yanlız şuan bu işleyişte okuma kısmında ağırlık söz konusu. Atıyorum program içine tt kısmına manuel olarak 1milyon veri girip 1 dakikada o verinin dönüştürülmüş çıktısını alabiliyordum. Şimdi dışarıdan (txtden) okuttuğumuz 100bin veriye 10 dakikadir bekliyorum hala sonuçsuz beklemede nedense. bu formulle 50-100 veride sıkıntı yoktu tabi. Onu aşmaya çalışıyorum bakalım.
    zembla adlı üyeden alıntı: mesajı görüntüle
    Hocam komut satırı yerine doğrudan programın içinden alsan daha iyi. Bende 3.6 var sen sanırım 2.7 sürümünü kullanıyorsun. Biraz farklı ama şöyle olmalı. Dosya adlarını vs. programın en başında alabilirsin.
    tt_giris_dosya_adi = raw_input('tt listesinin dosyasının adini girin: ')
    Bu senin girdiğin inputu tt_giris_dosya_adi değişkenine string olarak atayacak.
    Buna normalde tt.txt veya veri.txt gibi bir dosya adı girmek gerekl. Kullanmak için
    dosya = open(tt_giris_dosya_adi, 'r')
    şeklinde kullanabilirsin.
    Diğer dosyalar, çıkış dosyaları vs. hepsini programın en başında değişkenlere atayabilirsin. Tabi programın geri kısmında sabit dosya adı vs. değil de değişlenleri kullanmak gerekecek.
    Edit: Pardon komut satırı deyince windows CMD anladım. CMD'den kullanırken 'python aa.txt, bb,txt' gibi varyasyonlar da var sanırım. Neyse siz normal Python penceresi komut satırı dediniz sanırım.
  • 07-10-2017, 18:51:46
    #14
    10 dakika çok fazla sanki. Crt+C ile kes istersen. 100 veride sıkıntı yok diyorsun, tam bilemedim....
    Edit: Dosya alt kısımlarda bozuk/sorunlu olabilir mi acaba?
  • 07-10-2017, 19:08:47
    #15
    Üyeliği durduruldu
    Yok değil dosya icindekileri copy/paste ile script icine atıyorum sonucu veriyo hemen ama yüksek veriyi dısarıdan cekemiyor suan tek sorun bu. 100-200-300 de sıkıntı yok bende çözemedim.
    zembla adlı üyeden alıntı: mesajı görüntüle
    10 dakika çok fazla sanki. Crt+C ile kes istersen. 100 veride sıkıntı yok diyorsun, tam bilemedim....
    Edit: Dosya alt kısımlarda bozuk/sorunlu olabilir mi acaba?
  • 07-10-2017, 19:54:20
    #16
    Veri dosyan ciddi büyük anlaşılan. Yenii bir dosya aç. Aşağıdai kodlarla dosyanın içeriğini bir listeye almaya çalış isterden. Bunu programın hata vermeden tamamlanması gerekli sanırım. Hata veiyorsa veya program taklıyosa önce burayı çözmek gerekli hata vermiyorsa dosyayı listeye atamış olmalı.
    dosya = open('veri.txt', 'r')
    tt = []
    for line in dosya:
        line = line.strip()        #satir sonlarını kaldır
        if line != '':             #dosyadaki boş satirlara karsi onlem
            tt.append(line)
  • 07-10-2017, 20:44:04
    #17
    Üyeliği durduruldu
    Hocam şöyle birşey söyliyim. 80bin veri 30sn de biterken 160bin veri 3 dk yı buldu. Veri arttıkca bekleme süresi verinin 4-5 katı kadar artış gösteriyor. Ama ben bu alt alta fonksiyonunu eklemeden önce 1mluk veri için bile 3-4 dk beklemiyordum yani sanırım sorun altalta olayında.....
    Not: CTRL+C yaptıgımda ise; çıkan hatayı alt kısma yazdım https://repl.it/MP7R/1

    zembla adlı üyeden alıntı: mesajı görüntüle
    Veri dosyan ciddi büyük anlaşılan. Yenii bir dosya aç. Aşağıdai kodlarla dosyanın içeriğini bir listeye almaya çalış isterden. Bunu programın hata vermeden tamamlanması gerekli sanırım. Hata veiyorsa veya program taklıyosa önce burayı çözmek gerekli hata vermiyorsa dosyayı listeye atamış olmalı.
    dosya = open('veri.txt', 'r') tt = [] for line in dosya: line = line.strip() #satir sonlarını kaldır if line != '': #dosyadaki boş satirlara karsi onlem tt.append(line)
  • 07-10-2017, 21:53:12
    #18
    Ctrt+C programın işleyişini yarıda kesiyor. Gelen hata mesajının fazla bir önemi yok.
    altalta = 'aaaa'
    burada sadece 4 karakte giriyoruz altalta değişlenine..
    altalta = 'aaaaa'
    burada ise 5.
    Seninr programda altalta değişkenine yüzbinlece karakter giriecek sanırım. Değişken çok büyük olursa sorun oluyor anlaşılan. Yarın sakin kafayla bakarız...