问:有人可以帮我了解为什么我收到此错误吗?
C:\ Python34 \ python.exe C:/用户/丹尼/PycharmProjects/treehousepython/diary.py
输入“ q”退出。
a)添加一个条目。
v)查看以前的条目。
动作:a
输入您的条目。完成后按ctrl + d。
adfasdfsdf
追溯(最近一次通话):
<module>中的文件“ C:/Users/Denny/PycharmProjects/treehousepython/diary.py”,第66行
保存条目?[Yn] menu_loop()
在menu_loop菜单选项中的文件“ C:/Users/Denny/PycharmProjects/treehousepython/diary.py”第36行
如果输入('Save entry?[Yn]').lower()!='n',则在add_entry中的文件“ C:/Users/Denny/PycharmProjects/treehousepython/diary.py”,第45行,
EOFError:读取行时出现EOF
流程以退出代码1完成
运行Windows 8.1,使用pycharms,连接到mysql。当我按ctrl + d结束操作时一切正常,但是脚本错误并且无法继续保存条目。
从 馆藏 进口 OrderedDict
进口 日期时间
进口 SYS
从playhouse.db_url进口连接从peewee进口* mysql_db =连接('MySQL的:// python_user:*** @本地:3306 / python_work' )#mysql_db = MySQLDatabase( 'diary.db' ),host ='localhost',user ='python_user',passwd ='conrang class Entry (Model ):content = TextField ()timestamp = DateTimeField (默认= datetime
。日期时间。now )
类Meta :database = mysql_db def initialize ():“”“如果不存在则创建数据库和表。”“” mysql_db 。connect ()mysql_db 。create_tables ([[ Entry ],safe = True )def menu_loops ():“”“显示菜单”“”选择=无,而选择!= 'q' :打印(“输入'q'
对于 关键的, 价值 在 菜单。items ():
打印('{}){}' 。格式(键,值。__doc__ ))选择=输入('行动:' )。降低()。如果在菜单中选择,则剥离():菜单[选择]()def add_entry ():“”“添加条目。”“”打印(
“输入您的条目。完成后按ctrl + d。” )
data = sys 。标准输入。阅读()。条()如果数据:尝试:savein =输入('?保存条目[YN]' )。 如果savein != 'n',则降低():Entry 。创建(含量=数据)打印(“储存成功” )除外的EOFError :打印(
“这是怎么回事?” )
def view_entries ():“”“查看以前的条目。”“” def delete_entry (entry ):“”“删除条目。”“”菜单= OrderedDict ([ (''a' ,add_entry ),('v' ,view_entries ),])如果__name__ == ' __main__ ' :初始化()menu_loops ()
答:起来都很好,所以我的第一个猜测是“也许不是在Windows上按ctrl-d结束标准输入吗?” 我没有确定的结论,但有几件事说这是Windows的ctrl-z。试试看吗?