I have a piece of code but when I run the code it comes up with a error in which I do not understand neither does my sister who is apparently good at code... My code is:
from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
import os
bot = ChatBot('Bot')
bot.set_trainer(ListTrainer)
for files in os.listdir(r'C:\Users\vanos\chatterbot-corpus-
1.2.0\chatterbot_corpus\data\english'):
data = open(r'C:\Users\vanos\chatterbot-corpus-
1.2.0\chatterbot_corpus\data\english' + files ,'r').readlines()
bot.train(data)
while True:
message = input('You:')
if message.strip() != 'Bye':
reply = bot.get_responce(message)
print('ChatBot :',reply)
if message.strip() == 'Bye':
print('ChatBot : Bye')
break
My error in cmd
states:
C:\Users\vanos\Desktop>ai.py
Traceback (most recent call last):
File "C:\Users\vanos\Desktop\ai.py", line 9, in <module>
data = open(r'C:\Users\vanos\chatterbot-corpus-
1.2.0\chatterbot_corpus\data\english' + files ,'r').readlines()
FileNotFoundError: [Errno 2] No such file or directory:
'C:\\Users\\vanos\\chatterbot-corpus-
1.2.0\\chatterbot_corpus\\data\\englishai.yml'
My error in idle
states:
Traceback (most recent call last):
File "C:/Users/vanos/Desktop/ai.py", line 9, in <module>
data = open(r'C:\Users\vanos\chatterbot-corpus-
1.2.0\chatterbot_corpus\data\english' + files ,'r').readlines()
FileNotFoundError: [Errno 2] No such file or directory:
'C:\\Users\\vanos\\chatterbot-corpus-
1.2.0\\chatterbot_corpus\\data\\englishai.yml'
I was just trying to make a AI chatbox.
I just want to point out that the file directory is correct. I have triple checked it and I have copy and pasted the directory like 5 times.
My expected results are for the List Trainer to load and to have a conversation with the AI. However I get those errors and the List Trainer will not load instead that error message comes up every time.
EDIT/////
My current code:
from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
import os
bot = ChatBot('Bot')
bot.set_trainer(ListTrainer)
for files in os.listdir(r'C:\Users\vanos\chatterbot-corpus-
1.2.0\chatterbot_corpus\data\english'):
data = open(os.path.join(r'C:\Users\vanos\chatterbot-corpus-
1.2.0\chatterbot_corpus\data\english' , files) ,'r').readlines()
bot.train(data)
while True:
message = input('You:')
if message.strip() != 'Bye':
reply = bot.get_responce(message)
print('ChatBot :',reply)
if message.strip() == 'Bye':
print('ChatBot : Bye')
break
Error message:
C:\Users\vanos\Desktop\AI>ai.py
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [########### ] 56%Traceback (most recent call last):
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\engine\base.py", line 1193, in _execute_context
context)
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\engine\default.py", line 509, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: attempt to write a readonly database
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\vanos\Desktop\AI\ai.py", line 34, in <module>
bot.train(data)
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\chatterbot\trainers.py", line 118, in train
self.storage.update(statement)
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\chatterbot\storage\sql_storage.py", line 274, in update
self._session_finish(session)
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\chatterbot\storage\sql_storage.py", line 396, in _session_finish
session.commit()
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\orm\session.py", line 954, in commit
self.transaction.commit()
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\orm\session.py", line 467, in commit
self._prepare_impl()
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\orm\session.py", line 447, in _prepare_impl
self.session.flush()
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\orm\session.py", line 2313, in flush
self._flush(objects)
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site
packages\sqlalchemy\orm\session.py", line 2440, in _flush
transaction.rollback(_capture_exception=True)
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\util\langhelpers.py", line 66, in __exit__
compat.reraise(exc_type, exc_value, exc_tb)
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\util\compat.py", line 249, in reraise
raise value
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\orm\session.py", line 2404, in _flush
flush_context.execute()
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\orm\unitofwork.py", line 395, in execute
rec.execute(self)
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\orm\unitofwork.py", line 560, in execute
uow
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\orm\persistence.py", line 181, in save_obj
mapper, table, insert)
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\orm\persistence.py", line 872, in
_emit_insert_statements
execute(statement, params)
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\engine\base.py", line 948, in execute
return meth(self, multiparams, params)
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\sql\elements.py", line 269, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\engine\base.py", line 1060, in _execute_clauseelement
compiled_sql, distilled_params
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\engine\base.py", line 1200, in _execute_context
context)
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\engine\base.py", line 1413, in _handle_dbapi_exception
exc_info
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\util\compat.py", line 265, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\util\compat.py", line 248, in reraise
raise value.with_traceback(tb)
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\engine\base.py", line 1193, in _execute_context
context)
File "C:\Users\vanos\AppData\Local\Programs\Python\Python37-32\lib\site-
packages\sqlalchemy\engine\default.py", line 509, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) attempt to
write a readonly database [SQL: 'INSERT INTO statement (text, extra_data)
VALUES (?, ?)'] [parameters: ('- what do you get when you cross a serious
thief and a mad young man?', <memory at 0x035C5370>)] (Background on this
error at: http://sqlalche.me/e/e3q8)
IDK WHY IT IS THAT BUT HELP
I ran the code again to double check and it gave a different error...
Error currently:
C:\Users\vanos\Desktop\AI>ai.py
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
You:
Traceback (most recent call last):
File "C:\Users\vanos\Desktop\AI\ai.py", line 39, in <module>
reply = bot.get_responce(message)
AttributeError: 'ChatBot' object has no attribute 'get_responce'
help lol
I tried for the third time to triple check and I got this error message:
C:\Users\vanos\Desktop\AI>ai.py
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
List Trainer: [####################] 100%
You:Hi
Traceback (most recent call last):
File "C:\Users\vanos\Desktop\AI\ai.py", line 39, in <module>
reply = bot.get_responce(message)
AttributeError: 'ChatBot' object has no attribute 'get_responce'
At least this time it gave me the option to put hi lol. Please help people.
use this .
from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
import os
bot = ChatBot('Bot')
bot.set_trainer(ListTrainer)
for files in os.listdir(r'C:\Users\vanos\chatterbot-corpus-1.2.0\chatterbot_corpus\data\english'):
data = open(os.path.join(r'C:\Users\vanos\chatterbot-corpus-1.2.0\chatterbot_corpus\data\english' , files) ,'r').readlines()
bot.train(data)
while True:
message = input('You:')
if message.strip() != 'Bye':
reply = bot.get_responce(message)
print('ChatBot :',reply)
if message.strip() == 'Bye':
print('ChatBot : Bye')
break
`
Use
os.path.join('C:/', 'Users', 'vanos', 'chatterbot', 'rest_of_the_path')
Avoid using harcoded paths as they are platform dependent. Using functions like os.path.join() handles platform specific path format.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.