reo
Kasım 12, 2018, 7:34ös
1
Merhaba;
Sorunum şurada;
def gorunum(): # Gorunum fonksiyonum bu
from time import sleep
while True:
for i in "/\-":
print(i + "\b", end="", flush=True)
sleep(0.2)
Bu fonksiyonu şöyle kullandım.
from threading import Thread
th = Thread(target=gorunum)
th.start()
print(" BAŞLIK ")
th.start()
Şöyle olmasını istiyordum.
\ BAŞLIK \
(O slashlar dönüyor olacak.)
Ama olmadı
Nasıl yapmalıyım?
Thread işine girmenize gerek yok. Pratik çözüm
#coding:utf-8
import sys
import time
slash = ["\\","|","/","-"]
sayac = 0
yazi = "\r{0} Merhaba :) {0}"
while True:
sayac += 1
time.sleep(0.3)
sys.stdout.write(yazi.format(slash[sayac%len(slash)]))
sys.stdout.flush()
3 Beğeni
reo
Kasım 13, 2018, 11:56öö
3
Hocam az önce müdavim oldum, öylesine sevindim ki unutmuşum sizi
Konuya dönelim.
Evet, böyle de oluyor, teşekkür ederim.
Ama neden aynı thread aynı anda iki kez çalıştırılamıyor onu merak ettim.
1 Beğeni
Wyren
Kasım 13, 2018, 4:23ös
4
Hocam aynısı bende olmuyor.
Bende çıkan sonuç şu :
| Merhaba :) |
/ Merhaba :) /
- Merhaba :) -
\ Merhaba :) \
Yazı durduğu yerde kalmıyor, hep bir alt satıra geçiyor ve yukarıdaki çıktıyı veriyor.
Çalıştırdığınız ortama bağlı. Eğer IDLE üzerinde çalıştırdıysanız çalışmayacaktır. Çünkü IDLE bunu yapacak yetenekte değil. Eğer konsol üzerinde çalıştırmayı denerseniz çalışacaktır
1 Beğeni
Rica ederim
Çünkü aynı iş parçacığını ikinci kez başlatmaya kalkarsan “threads can only be started once.” hatası verir.
2 Beğeni
Wyren
Kasım 14, 2018, 1:01ös
7
Teşekkürler hocam. IDLE üzerinden çalıştırıyordum
1 Beğeni