> def asistan(data):
> sorgu = "SELECT * FROM KOMUTLAR WHERE komutsahibi = '%s'" % (kullanankisi)
> im.execute(sorgu)
> myresult = im.fetchall()
> for komutsahibi in myresult:
> if komutsahibi[1] == kullanankisi:
> if komutsahibi[3] in data:
> komutislevi = komutsahibi[4]
> komutislevi
ben mysql veritabanımdaki kolon 4 de bulunan “konus(“efendim”)” komutunu çekip çalıştırmak istiyorum nasıl yapabilirim?
Kodunuz düzgün gözükmüyor, baştaki >
işaretlerini kaldırın lütfen. Bir de veritabanınızı veya kodunuzun tamamını görmeden kayıt işlemini nasıl yaptığınızı bilemeyiz. Gerçi kodunuza bakınca veriyi çekme işlemini halletmişsiniz gibi duruyor ama sorunuzun açıklamasından tersini çıkardım. string halindeki kodu çalıştırmak için exec
kullanabilirsiniz, ama iyi bir yöntem olmadığını bilin.
def asistan(data):
sorgu = "SELECT * FROM KOMUTLAR WHERE komutsahibi = '%s'" % (kullanankisi)
im.execute(sorgu)
myresult = im.fetchall()
for komutsahibi in myresult:
if komutsahibi[1] == kullanankisi:
if komutsahibi[3] in data:
#komutsahibi[4]
konus(komutsahibi[4])
pekala exec nasıl kullanabilirim?
Verdiğim linki inceleyebilirsiniz. Hem kullanacağınız fonksiyon hakkında bilgi de edinmiş olursunuz.
Windows kullanıyorum, kullanmasam bile kodunuza çok da etkisi olacağını sanmıyorum. Eğer fonksiyonun nasıl kullanıldığını hızlıca öğrenmek istiyorsanız buraya da bakabilirsiniz:
https://docs.python.org/3/library/functions.html#exec
ha bu arada stabil ağ yok bende o yüzden mysql bağlantısı sağlıklı olmuyor malesef bir çözümünüz var mı ?
ayrıca ikinci sorunumda şu tkinter ile bu kodları birleştirmek istiyorum yardımcı olursanız çok ama çok teşekkür ederim şimdiden saygılar
def konus(audio):
print(audio)
tts = gTTS(text=audio, lang="tr")
tts.save("audio.mp3")
os.system("mplayer audio.mp3 &")
def recordAudio():
r = sr.Recognizer()
with sr.Microphone() as source:
r.pause_threshold = 1
r.adjust_for_ambient_noise(source, duration=1)
audio = r.listen(source)
try:
data = r.recognize_google(audio, language='tr-tr')
data = data.lower()
print(" + Senin Dediğin : " + data)
except sr.UnknownValueError:
asistan(recordAudio())
return data
def asistan(data):
sorgu = "SELECT * FROM KOMUTLAR WHERE komutsahibi = '%s'" % (kullanankisi)
im.execute(sorgu)
myresult = im.fetchall()
for komutsahibi in myresult:
if komutsahibi[1] == kullanankisi:
if komutsahibi[3] in data:
exec komutsahibi[4]
def dinlebutonu():
while True:
data = recordAudio()
asistan(data)
dinlebutonu()
kod bütünlüğüm budur?
Mysql hiç kullanmadım, ama internetiniz kötü ise sunucu ile aranızdaki bağlantıda sorun olması olası zaten.
Hasan_Durak:
ayrıca ikinci sorunumda şu tkinter ile bu kodları birleştirmek istiyorum yardımcı olursanız çok ama çok teşekkür ederim şimdiden saygılar
def konus(audio):
print(audio)
tts = gTTS(text=audio, lang="tr")
tts.save("audio.mp3")
os.system("mplayer audio.mp3 &")
def recordAudio():
r = sr.Recognizer()
with sr.Microphone() as source:
r.pause_threshold = 1
r.adjust_for_ambient_noise(source, duration=1)
audio = r.listen(source)
Tkinter kütüphanesi hakkında bilginiz var mı ilk defa mı kullanacaksınız?
pencere = Tk()
pencere.title(u"ASİSTAN BÖLÜMÜ")
button = Button(pencere, text="ASİSTANI BAŞLAT", command=dinlebutonu)
sonuc = Label(pencere)
sonuc.config(text=u"ASİSTAN ŞUAN KAPALIDIR")
sonuc.pack()
button.pack()
pencere.mainloop()
yaptım lakin buttona basıldığı zaman ASİSTAN ŞUAN AÇIK VE SİZİ DİNLİYOR DEMESİNİ İSTİYORUM ASİSTAN DİNLEMEYİ BİTİRİM İŞLEMİ YAPINCADA İSTEDİĞİNİZ İŞLEMİNİZ GERÇEKLEŞTİ DEMESİNİ İSTİYORUM BUNU NASIL YAPABİLİRİM?
Neden buradaki gibi yapmıyorsunuz: