全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

python实现按任意键继续执行程序

在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实现按任意键继续/退出的功能  # 输入密码  # 是个  # 我觉得  # 你可以  # 第一个  # 很多人  # 不多  # 但我  # 会在  # 这段  # 给人  # 再来  # 因为它  # 有多大  # 也想  # 倒了  # 后会  # 就跟  # 帅气  # 整型 


相关文章: 如何正确下载安装西数主机建站助手?  5种Android数据存储方式汇总  建站之星展会模板:智能建站与自助搭建高效解决方案  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  北京网站制作的公司有哪些,北京白云观官方网站?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  C#怎么使用委托和事件 C# delegate与event编程方法  家庭服务器如何搭建个人网站?  建站之星官网登录失败?如何快速解决?  Python如何创建带属性的XML节点  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  如何选择美橙互联多站合一建站方案?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  如何在云主机上快速搭建多站点网站?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  高端网站建设与定制开发一站式解决方案 中企动力  建站之星后台密码遗忘或太弱?如何重置与强化?  建站主机选哪家性价比最高?  广平建站公司哪家专业可靠?如何选择?  如何通过宝塔面板实现本地网站访问?  在线教育网站制作平台,山西立德教育官网?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  如何在服务器上三步完成建站并提升流量?  javascript基本数据类型及类型检测常用方法小结  如何通过虚拟机搭建网站?详细步骤解析  如何快速使用云服务器搭建个人网站?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  建站之星如何助力网站排名飙升?揭秘高效技巧  如何在阿里云购买域名并搭建网站?  Android使用GridView实现日历的简单功能  如何配置IIS站点权限与局域网访问?  广州商城建站系统开发成本与周期如何控制?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  C#如何使用XPathNavigator高效查询XML  如何快速完成中国万网建站详细流程?  如何打造高效商业网站?建站目的决定转化率  网站制作新手教程,新手建设一个网站需要注意些什么?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  三星网站视频制作教程下载,三星w23网页如何全屏?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  如何用西部建站助手快速创建专业网站?  我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?  建站之星与建站宝盒如何选择最佳方案?  太原网站制作公司有哪些,网约车营运证查询官网? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。