日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

發布時間:2025/3/8 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python实现按回车键继续程序_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实现按任意键继续执行程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。