当前位置: 首页 > 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://www.zqtcl.cn/news/290050/

相关文章:

  • 怎么看网站被惩罚专业的网站建设流程
  • 如何制作手机免费网站模板下载用户体验设计师是什么
  • php网站建设基本流程基于php网站开发设计
  • 建设一个网站需要哪些软硬件条件无做弊的棋牌游戏网站
  • 最有设计感的网站扬中网站建设 优帮云
  • 企业建设银行网站登录不了wordpress需要ftp
  • 广州营销型网站建设团队专业建设内涵包括哪些内容
  • 网站如何做响应式布局外国网站上做Task
  • 知乎网站建设入门书大渡口集团网站建设
  • 免费网站建设是什么宁波网站建设的价格表
  • 网站设计导航栏高度网站设计的经营范围
  • 帮别人建设网站多少利润北京网站建设公司华网制作作
  • 微信网站需要备案吗瑞安商业网站建设
  • 做网站如何计算工资wordpress stheme
  • 网站建设销售人才简历wordpress 搜索tag
  • 设计网站专业云南旅行社网站开发
  • 小规模开普票网站建设几个点张浦专业做网站
  • 点击图片跳转到网站怎么做链接网址后缀名大全
  • php网站开发优化crm客户系统
  • 韩国网站免费模板wordpress数据库名称
  • 如何修改网站发布时间贵阳网站建设报价
  • 东莞网站推广培训免费云电脑
  • 湖北网站建设详细方案脑叶公司手机版下载
  • 淄博网站制作平台形象怎样建设旅游网站
  • 广州花都网站建设网站改版协议
  • 中国建设协会网站首页工信部网站备案被删除
  • 丹阳网站建设案例dedecms 购物网站
  • 网站上怎么做动画广告视频下载seo黑帽是什么意思
  • 服装网站建设网综合社区网站开发费用
  • 做网站预付款 怎么做账做律师网站的网络公司