当前位置: 首页 > news >正文

网站优化服务合同无锡电商网站设计

网站优化服务合同,无锡电商网站设计,一线品牌全屋定制排名,浙江嘉兴网站建设我发现了一些使用Ctrl-C实现所需行为的hacky方法.设置use_rawinput False并替换stdin这个(或多或少……)粘在cmd.Cmd的公共接口上.不幸的是,它禁用了readline支持.您可以将use_rawinput设置为false并传递一个不同的类文件对象来替换Cmd .__ init __()中的stdin.实际上,只在此对…我发现了一些使用Ctrl-C实现所需行为的hacky方法.设置use_rawinput False并替换stdin这个(或多或少……)粘在cmd.Cmd的公共接口上.不幸的是,它禁用了readline支持.您可以将use_rawinput设置为false并传递一个不同的类文件对象来替换Cmd .__ init __()中的stdin.实际上,只在此对象上调用readline().因此,您可以为stdin创建一个包装器,捕获KeyboardInterrupt并执行您想要的行为class _Wrapper:def __init__(self,fd):self.fd fddef readline(self,*args):try:return self.fd.readline(*args)except KeyboardInterrupt:print()return \nclass TestShell(cmd.Cmd):def __init__(self):super().__init__(stdin_Wrapper(sys.stdin))self.use_rawinput Falseself.prompt $def precmd(self,line):if line EOF:return exitreturn linedef emptyline(self):passdef do_exit(self,line):return TrueTestShell().cmdloop()当我在终端上运行它时,Ctrl-C显示^ C并切换到新行.猴子补丁输入()如果你想要input()的结果,除了你想要Ctrl-C的不同行为,一种方法是使用不同的函数而不是input()def my_input(*args): # input() takes either no args or one non-keyword argtry:return input(*args)except KeyboardInterrupt:print(^C) # on my system,input() doesnt show the ^Creturn \n但是,如果您只是盲目地设置input my_input,则会得到无限递归,因为my_input()将调用input(),现在它本身就是.但这是可以修复的,你可以在cmd模块中修补__builtins__字典,以便在Cmd.cmdloop()期间使用修改后的input()方法def input_swallowing_interrupt(_input):def _input_swallowing_interrupt(*args):try:return _input(*args)except KeyboardInterrupt:print(^C)return \nreturn _input_swallowing_interruptclass TestShell(cmd.Cmd):def cmdloop(self,*args,**kwargs):old_input_fn cmd.__builtins__[input]cmd.__builtins__[input] input_swallowing_interrupt(old_input_fn)try:super().cmdloop(*args,**kwargs)finally:cmd.__builtins__[input] old_input_fn# ...请注意,这会更改所有Cmd对象的input(),而不仅仅是TestShell对象.如果这是你不能接受的,你可以……复制Cmd.cmdloop()源并进行修改由于你是子类化它,你可以让cmdloop()做你想做的任何事情. “你想要的任何东西”可能包括复制Cmd.cmdloop()的部分并重写其他部分.通过调用另一个函数替换对input()的调用,或者在重写的cmdloop()中捕获并处理KeyboardInterrupt.如果您害怕使用新版本的Python更改底层实现,您可以将整个cmd模块复制到一个新模块中,并更改您想要的内容.
http://wiki.neutronadmin.com/news/428759/

相关文章:

  • 怎么建立自己的网站免费wordpress好123
  • flash学习网站网站建设要考虑哪些内容
  • 标准通网站建设东莞最大的保安公司
  • 朝城做网站公司最新的军事新闻
  • 实木餐桌椅网站建设公司高大上网站设计
  • 网站后台管理系统破解男做直播网站
  • 网站设计psd模板网站建设需要包含什么
  • 甘肃省城乡与住房建设厅网站高德北斗导航
  • 无锡网站设计哪家公司好怎样做付费下载的网站
  • 重庆网站设计中心软件开发文档格式
  • 网站推广合同需要缴纳印花税吗宜昌的网站建设
  • 怎样做_网站做seo网站建设的需求方案
  • 淘特app官方网站下载凡科建站的怎么取消手机网站
  • 做一个网站和手机软件多少钱科技公司办公室设计
  • 网站如何备案 附备案流程图温州公司建设网站
  • 网站建设与维护高职北京优质网站制作
  • 黑龙江俄语网站制作交通网上服务平台
  • 专业建网站价格Python 查询网站开发
  • 网站备案流程实名认证南充响应式网站建设
  • 深圳石岩建网站百度云账号登录
  • 平阳网站开发西安学校网站建设费用
  • 皮革材料做网站wordpress登录地址无法登录
  • 做喷绘可以在那个网站找网站如何解析
  • 怎么选择邯郸做网站无锡百度推广开户
  • 专门做问卷的网站怎么玩互联网能赚钱
  • 陕西免费做网站公司网络营销课程个人总结
  • vps做vpn svn和网站网站的留言功能
  • 易支付做网站接口怎么赚钱黄页推广网站
  • 百度不收录网站怎么办高端建材门店年销售额
  • 建网站企业怎样查找自己建设的网站