• 17-08-2021, 11:01:46
    #1
    internet python kendini kapatıp tekrar çalıştıran kod diye arattık karşıma sürekli bu kod çıktı fakat uygulama tekrardan çalışmıyor ?
    uygulamamı gerekli olduğu yerde yeniden başlatmam gerek fakat bir türlü çözemedim.

    import os
    import sys

    print("TEST")

    os.execv(sys.executable,['python'] + sys.argv)
    print ("Restarting...")
    exit()
  • 17-08-2021, 11:11:27
    #2
    bir uygulama içinde exit() komutu kullanınca, o uygulama kapanır. ve program o ana kadar öğrendiği bildiklerini unutur.

    programa onu geri hatırlatmanın yolu ise, hariçteki bir dosyada, state (durum) bilgisi saklamak.
    state degiskeni, her aşamada güncellenebileceği gibi, sadece içinde çalıştığı class'i da tutabilir. tam olarak sizin ne yapmak istediğinize bağlı.

    bu durumda, tavsiyem:


    - state.txt diye bir dosya oluşturun.
    - çağırılan her methodu, her komutu (artık ne yapmak istiyorsanız) onun bilgisini state dosyasının içinde tutun.
    - program yeniden başladıktan sonra, önce state dosyasına baksın. varsa önceden kaldığı yere "goto" komutu ile yönlensin. state boş işe, baştan başlasın. Böylece programa nereden başlamasını öğretmiş olursunuz.

    bkz: python label kullanımı
    bkz: python goto kullanımı
    bkz: python ini dosyası kullanımı
    bkz: python class yapısı
    bkz: python method yapısı

    goto yükleme:
    pip3 install goto-statement
    goto kullanma örneği:
    class goto1(Exception):
        pass  
    class goto2(Exception):
        pass  
    class goto3(Exception):
        pass  
    
    def loop():
        print 'start'
        num = input()
        try:
            if num<=0:
                raise goto1
            elif num<=2:
                raise goto2
            elif num<=4:
                raise goto3
            elif num<=6:
                raise goto1
            else:
                print 'end'
                return 0
        except goto1 as e:
            print 'goto1'
            loop()
        except goto2 as e:
            print 'goto2'
            loop()
        except goto3 as e:
            print 'goto3'
            loop()
  • 17-08-2021, 12:23:48
    #3
    mkozdogan adlı üyeden alıntı: mesajı görüntüle
    bir uygulama içinde exit() komutu kullanınca, o uygulama kapanır. ve program o ana kadar öğrendiği bildiklerini unutur.

    programa onu geri hatırlatmanın yolu ise, hariçteki bir dosyada, state (durum) bilgisi saklamak.
    state degiskeni, her aşamada güncellenebileceği gibi, sadece içinde çalıştığı class'i da tutabilir. tam olarak sizin ne yapmak istediğinize bağlı.

    bu durumda, tavsiyem:


    - state.txt diye bir dosya oluşturun.
    - çağırılan her methodu, her komutu (artık ne yapmak istiyorsanız) onun bilgisini state dosyasının içinde tutun.
    - program yeniden başladıktan sonra, önce state dosyasına baksın. varsa önceden kaldığı yere "goto" komutu ile yönlensin. state boş işe, baştan başlasın. Böylece programa nereden başlamasını öğretmiş olursunuz.

    bkz: python label kullanımı
    bkz: python goto kullanımı
    bkz: python ini dosyası kullanımı
    bkz: python class yapısı
    bkz: python method yapısı

    goto yükleme:
    pip3 install goto-statement
    goto kullanma örneği:
    class goto1(Exception):
        pass  
    class goto2(Exception):
        pass  
    class goto3(Exception):
        pass  
    
    def loop():
        print 'start'
        num = input()
        try:
            if num<=0:
                raise goto1
            elif num<=2:
                raise goto2
            elif num<=4:
                raise goto3
            elif num<=6:
                raise goto1
            else:
                print 'end'
                return 0
        except goto1 as e:
            print 'goto1'
            loop()
        except goto2 as e:
            print 'goto2'
            loop()
        except goto3 as e:
            print 'goto3'
            loop()
    bilgileriniz çok tşk ederim bendeki sıkıntı çok enteresan netten bununla ilgili çözüm arayanların yazılarınıda okudum ama onlarda çözememiş. uzak sunucudan sürekli veri çekiliyor fakat ne hikmetse sunucu taraflı yaşanan yavaşlama yada başka sıkıntılar hataya düşüyor. Hataya düşmesinden ötürü uygulamanın tekrardan kapatılıp açılması gerekiyor ki yeniden başlasın. hataya düşünce yeniden başlmasını sağlamak amacım düzeltmedi uygulamayı pycharm üzerinde çalıştırıyorum durdurup yeniden başlatınca düzeliyor.


    except:

    print("HATA OLUŞTU", datetime.now())
    os.system("python proje_.py")
    print("YENİDEN BAŞLATIYORUZZ...")
    exit()
    continue

    time.sleep(7) # 30 sn ediyor...