原标题: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按任意键继续程序相关推荐

  1. Android Native APP开发笔记:双击返回键退出应用单击返回键返回桌面

    文章目录 目的 基础说明 双击返回键退出应用 单击返回键回到桌面 总结 目的 双击返回键退出应用 很早之前就是Android中非常常见的一种功能,而目前好多安卓应用为了应用常驻都改为使用 单击返回键返 ...

  2. python怎么用q退出_python中退出

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! for循环elsefor循环如果正常结束的时候,才会结束else语句#! usr ...

  3. python windows窗口置顶_Python入门:第一个程序“Hello, world”

    本文主要内容 安装Python 使用IDLE和基础交互模式 编写一个简单的程序 使用IDLE的Python shell窗口 本章将介绍Python和IDLE的下载.安装和启动过程,IDLE是Pytho ...

  4. python输入10个整数_python练习:编写一个程序,要求用户输入10个整数,然后输出其中最大的奇数,如果用户没有输入奇数,则输出一个消息进行说明。...

    python练习:编写一个程序,要求用户输入10个整数,然后输出其中最大的奇数,如果用户没有输入奇数,则输出一个消息进行说明. 重难点:通过input函数输入的行消息为字符串格式,必须转换为整型,否则 ...

  5. python按任意键退出_Python实现按任意键继续/退出的功能

    前言 要实现该功能,需要的就是暂停程序.等待并捕捉用户的一个键盘输入,然后继续执行.Python 有内建的库能帮我们实现该功能,不过要区别对待 Windows 和 Linux. msvcrt中的 ge ...

  6. python函数拟合不规则曲线_python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案...

    第一种是进行多项式拟合,数学上可以证明,任意函数都可以表示为多项式形式.具体示例如下. ###拟合年龄 import numpy as np import matplotlib.pyplot as p ...

  7. python编写程序转换进制_Python实现任意进制之间的转换

    在日常生活中我们频繁使用到数学的进制,如季度逢三进一,星期逢七进一:生肖.小时使用12进制,每天使用24进制,每月使用30进制,分秒使用60进制,一年使用360进制等等:在编程过程中我们经常需要转换进 ...

  8. python计算图形面积的方法_Python计算任意多边形面积算法

    多边形面积求解的方法很多,其中比较多见的就是增加一个点P,然后分别连接多边形各个定点与P点,然后计算每个三角形的符号面积(面积有正负之分),求和就可以计算出面积. 鉴于上面的方法,我们也可以用另外一种 ...

  9. python线程暂停恢复退出_python中的暂停和恢复线程

    请记住,在Pythin中使用线程不会授予您并行处理,除非是IO阻塞操作.有关这方面的更多信息,请查看this和this 在Python中,不能任意暂停线程(请记住这一点,然后再进一步阅读).我也不确定 ...

  10. python按键盘上哪个键运行_python按什么键运行

    python按什么键运行? python按shift+F10键运行. Python是一种计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新 ...

最新文章

  1. 重磅 | 李飞飞最新演讲:ImageNet后,我专注于这五件事——视觉理解、场景图,段落整合、视频分割及CLEVR数据集
  2. Payara基金会发布全面支持MicroProfile 2.0的5.183版Payara Server和Payara Micro
  3. gb2312 requests乱码_不要相信requests返回的text
  4. linux中没有semanagea安装包,如何使用semanage管理SELinux安全策略
  5. Thinkphp5.0上传图片与运行python脚本
  6. Leetcode题解(22)
  7. 关于Arcgis工作空间的记忆点
  8. jar命令更新jar中的class文件
  9. 二叉树之孩子表示法以及前中后三种遍历法
  10. python安装包,使用镜像安装
  11. U盘插入电脑无反应,坏了?不存在的
  12. Yii Framework2.0开发教程(3)数据库mysql入门
  13. matlab中牛顿迭代程序,牛顿迭代法的MATLAB程序
  14. 雨中走路淋雨多还是跑步淋雨多?
  15. 获取安卓模拟器的型号(品牌)
  16. Source Insight前进和后退(返回上一步)快捷键
  17. 离线语音智能家居控制
  18. unity 发光字体_unity文本自发光效果
  19. 2023.04.27 QT 制作文本编辑器
  20. 简单爬虫爬取头像,妈妈再也不用担心我头像不够用了

热门文章

  1. (default-compile) on project datasource-demo: Fatal error compiling
  2. 普渡大学计算机科学本科,普渡大学计算机科学专业怎么样 排名申请条件介绍...
  3. HDL4SE:软件工程师学习Verilog语言(七)
  4. 分享6种时间管理方法,不要再说时间不够用了!
  5. 视频剪辑技巧,视频旋转/翻转视频最简单的操作
  6. unity3d人物跳_Unity人物跳跃效果
  7. Python如何配置清华镜像源
  8. Python如何自动播放视频(XXT)
  9. python 一键登录126邮箱
  10. QT 菜单栏、工具栏和状态栏