在windows下写bat的时候,通过pause命令,可以暂停程序运行,例如经常见的程序会在终端提示”按任意键继续……”,用户在终端回车后程序可以接着运行,这个功能有多大用途今天暂且不说,但我觉得应该有很多人也想在python下实现这个功能,这样当自己写的python程序运行时, 突然给出这么一个提示,然后自己再来个帅气的回车,我觉得肯定给人一种非常专业的感觉,最起码自己肯定被自己迷倒了,所以今天我们就学习下这段代码,这里定义了一个函数,所以你可以嵌入到你的程序中,在任何你希望调用的地方调用它即可,使用非常的方便,代码如下:
#!/usr/bin/env python # -*- coding:utf-8 -*- import os import sys import termios def press_any_key_exit(msg): # 获取标准输入的描述符 fd = sys.stdin.fileno() # 获取标准输入(终端)的设置 old_ttyinfo = termios.tcgetattr(fd) # 配置终端 new_ttyinfo = old_ttyinfo[:] # 使用非规范模式(索引3是c_lflag 也就是本地模式) new_ttyinfo[3] &= ~termios.ICANON # 关闭回显(输入不会被显示) new_ttyinfo[3] &= ~termios.ECHO # 输出信息 sys.stdout.write(msg) sys.stdout.flush() # 使设置生效 termios.tcsetattr(fd, termios.TCSANOW, new_ttyinfo) # 从终端读取 os.read(fd, 7) # 还原终端设置 termios.tcsetattr(fd, termios.TCSANOW, old_ttyinfo) if __name__ == “__main__”: press_any_key_exit(“按任意键继续…”) print ‘\n'
代码不多解释,看注释,这里要说一下termios模块,这个模块提供了一个接口可以控制tty终端的Io,它所有函数第一个参数需要一个文件描述符,可以是整型的文件描述符,也可以是个文件对象,因为它可以控制在终端的显示设置,常用场景就是用户在终端输入密码时不要显示出来,就跟我们用root登陆系统时系统给出输入密码提示符一样, 代码实现如下:
def getpass(prompt=”Password: “): import termios, sys fd = sys.stdin.fileno() old = termios.tcgetattr(fd) new = termios.tcgetattr(fd) new[3] = new[3] & ~termios.ECHO try: termios.tcsetattr(fd, termios.TCSADRAIN, new) passwd = raw_input(prompt) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old) return passwd passwd = getpass() print passwd
这个脚本运行会提示你输入密码,输入后会打印出刚输入的密码,给这个2个例子也是说明termios的简单用法,大家可以自己运行程序去体会下。
# python
# 按任意键继续
# 任意键继续
# Python实现按任意键继续
# 实现python版本的按任意键继续/退出
# Linux 下 Python 实现按任意键退出的实现方法
# 详解Python实现按任意键继续/退出的功能
# 输入密码
# 是个
# 我觉得
# 你可以
# 第一个
# 很多人
# 不多
# 但我
# 会在
# 这段
# 给人
# 再来
# 因为它
# 有多大
# 也想
# 倒了
# 后会
# 就跟
# 帅气
# 整型
相关文章:
如何在阿里云高效完成企业建站全流程?
建站之星微信建站一键生成小程序+多端营销系统
南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
建站之星安全性能如何?防护体系能否抵御黑客入侵?
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
自助网站制作软件,个人如何自助建网站?
如何配置WinSCP新建站点的密钥验证步骤?
Swift开发中switch语句值绑定模式
制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
建站之星后台管理如何实现高效配置?
教学论文网站制作软件有哪些,写论文用什么软件
?
如何在云主机上快速搭建网站?
专业公司网站制作公司,用什么语言做企业网站比较好?
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
如何在云主机快速搭建网站站点?
如何快速搭建高效简练网站?
建站主机是否等同于虚拟主机?
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
ppt制作免费网站有哪些,ppt模板免费下载网站?
广州建站公司哪家好?十大优质服务商推荐
,在苏州找工作,上哪个网站比较好?
建站之星在线客服如何快速接入解答?
建站之星各版本价格是多少?
建站之星安装提示数据库无法连接如何解决?
宝塔面板如何快速创建新站点?
详解jQuery停止动画——stop()方法的使用
潮流网站制作头像软件下载,适合母子的网名有哪些?
清除minerd进程的简单方法
深圳网站制作案例,网页的相关名词有哪些?
中山网站制作网页,中山新生登记系统登记流程?
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
代刷网站制作软件,别人代刷火车票靠谱吗?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
音响网站制作视频教程,隆霸音响官方网站?
如何登录建站主机?访问步骤全解析
微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?
电商平台网站制作流程,电商网站如何制作?
如何解决ASP生成WAP建站中文乱码问题?
公司网站设计制作厂家,怎么创建自己的一个网站?
湖北网站制作公司有哪些,湖北清能集团官网?
大连网站设计制作招聘信息,大连投诉网站有哪些?
制作证书网站有哪些,全国城建培训中心证书查询官网?
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
佛山网站制作系统,佛山企业变更地址网上办理步骤?
*请认真填写需求信息,我们会在24小时内与您取得联系。