Python實(shí)戰(zhàn)整活之聊天機(jī)器人
一、前言
剛剛學(xué)了一些python文件讀寫的內(nèi)容,先跑過來整活了。順便復(fù)習(xí)一下之前學(xué)的東西。
import time
doc_local='D:\learning_folder\interaction.txt'
def iRead():
fr = open(doc_local, 'r')
message=fr.read()
return message
def iWrite(message):
fw = open(doc_local, 'w')
fw.write(message)
fw.close()
def dTime(num):
a=time.time()
b=time.time()
while (b-a)<num:
b=time.time()
return None
answer={'i am temmie':'you are temmie? who am i?','temmie':'temmie!!!','wang!':'wangwangwang!!!'}
iWrite('test begin')
message0 = iRead()
print(message0)
while True:
dTime(1.0000000)
mes = iRead()
if mes!=message0:
v=answer.get(mes)
if v==None:
if mes=='q' :
print('退出運(yùn)行')
break
else:
print('message:', mes, end='\t')
a_out=('temmie say again:{0}'.format(mes))
message0 = a_out
iWrite(a_out)
print(a_out)
else:
print('message:', mes, end='\t')
b_out=('{0}'.format(answer.get(mes)))
message0 =b_out
iWrite(b_out)
print('answer:',b_out)
效果呢,就是你在這個位置的記事本里寫東西然后保存,它會回復(fù)你消息,如果你說的話在規(guī)定的字典中,它就會回你預(yù)設(shè)好的話。如果沒有預(yù)設(shè),就會重復(fù)你的話(復(fù)讀機(jī))。
我把每次輸入與返回都進(jìn)行了輸出
二、效果演示

你甚至可以跟它接crepper,如果你足夠閑,也可以整個成語接龍。

三、完整代碼
三個函數(shù)分別定義讀取內(nèi)容、寫入內(nèi)容、與定時
def iRead():
fr = open(doc_local, 'r')
message=fr.read()
return message
def iWrite(message):
fw = open(doc_local, 'w')
fw.write(message)
fw.close()
def dTime(num):
a=time.time()
b=time.time()
while (b-a)<num:
b=time.time()
return None
answer是預(yù)設(shè)回答的字典。
先寫入內(nèi)容,清空之前的文字,提示程序開始。讀取文件內(nèi)容,就是'test begin'
iWrite('test begin')
message0 = iRead()
然后是一個死循環(huán),直到你輸入了q,才會退出。
每隔1秒讀取一次文件中的內(nèi)容,如果文件內(nèi)容沒變視為沒輸入,文件內(nèi)容變化則對字典進(jìn)行檢索,返回None證明無對應(yīng)答案,則復(fù)讀。如果返回了值則輸出該值。
while True:
dTime(1.0000000)
mes = iRead()
if mes!=message0:
v=answer.get(mes)
if v==None:
if mes=='q' :
print('退出運(yùn)行')
break
else:
print('message:', mes, end='\t')
a_out=('temmie say again:{0}'.format(mes))
message0 = a_out
iWrite(a_out)
print(a_out)
else:
print('message:', mes, end='\t')
b_out=('{0}'.format(answer.get(mes)))
message0 =b_out
iWrite(b_out)
print('answer:',b_out)
到此這篇關(guān)于Python實(shí)戰(zhàn)整活之聊天機(jī)器人的文章就介紹到這了,更多相關(guān)python聊天機(jī)器人內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python機(jī)器學(xué)習(xí)創(chuàng)建基于規(guī)則聊天機(jī)器人過程示例詳解
- 使用 Python 創(chuàng)建一個基于規(guī)則的聊天機(jī)器人
- Python調(diào)用兩個機(jī)器人聊天的實(shí)戰(zhàn)
- Python如何實(shí)現(xiàn)機(jī)器人聊天
- python操作微信自動發(fā)消息的實(shí)現(xiàn)(微信聊天機(jī)器人)
- Python使用20行代碼實(shí)現(xiàn)微信聊天機(jī)器人
- 基于python的itchat庫實(shí)現(xiàn)微信聊天機(jī)器人(推薦)
- python實(shí)現(xiàn)AI聊天機(jī)器人詳解流程
相關(guān)文章
jupyter 實(shí)現(xiàn)notebook中顯示完整的行和列
這篇文章主要介紹了jupyter 實(shí)現(xiàn)notebook中顯示完整的行和列,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
Python實(shí)現(xiàn)數(shù)據(jù)庫并行讀取和寫入實(shí)例
本篇文章主要介紹了Python實(shí)現(xiàn)數(shù)據(jù)庫并行讀取和寫入實(shí)例,非常具有實(shí)用價值,需要的朋友可以參考下2017-06-06
mac PyCharm添加Python解釋器及添加package路徑的方法
今天小編就為大家分享一篇mac PyCharm添加Python解釋器及添加package路徑的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
python?使用第三方庫requests-toolbelt?上傳文件流的示例
這篇文章主要介紹了python?使用第三方庫requests-toolbelt?上傳文件流,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09
py3nvml實(shí)現(xiàn)GPU相關(guān)信息讀取的案例分析
這篇文章主要介紹了py3nvml實(shí)現(xiàn)GPU相關(guān)信息讀取,此時就可以考慮使用py3nvml這樣的工具,針對于GPU任務(wù)執(zhí)行的過程進(jìn)行細(xì)化的分析,有助于提升GPU的利用率和程序執(zhí)行的性能,需要的朋友可以參考下2022-01-01
python3使用urllib模塊制作網(wǎng)絡(luò)爬蟲
本文給大家介紹的是利用urllib模塊通過指定的URL抓取網(wǎng)頁內(nèi)容 所謂網(wǎng)頁抓取,就是把URL地址中指定的網(wǎng)絡(luò)資源從網(wǎng)絡(luò)流中讀取出來,保存到本地,有需要的小伙伴可以參考下2016-04-04
Python如何使用Gitlab API實(shí)現(xiàn)批量的合并分支
這篇文章主要介紹了Python如何使用Gitlab API實(shí)現(xiàn)批量的合并分支,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-11-11

