Python 标准类库-Windows特殊服务之msvcrt「建议收藏」

Python 标准类库-Windows特殊服务之msvcrt「建议收藏」标准类库-Windows特殊服务之msvcrtby:授客QQ:1033553122广告:出售自研自动化小平台(无需编码也可用),有需要请联系测试环境win764位Python3.46

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

标准类库-Windows特殊服务之msvcrt

 

by:授客 QQ1033553122

广告:出售自研自动化小平台(无需编码也可用),有需要请联系

 

测试环境

win7 64

Python 3.4 64bit

 

控制台I/O

1. 例子 getch演示

假设 1.py脚本内容如下:

 

#-*- coding:utf-8 -*-

 

import msvcrt

 

while True:

    ch = msvcrt.getch()

 print(ch)

    

windows cmd控制台运行脚本

E:\>cd /d E:\

E:\>python 1.py

b’1′

b’\r’

b’\x03′

 

 

如上,运行程序后,等待输入,先后输入1, 回车,按Ctrl+c,按顺序分别输出以上带背景色部分的内容。

 

注意:实践发现,有些情况下,输入中文,print(ch)会导致程序直接退出,解决方法就是使用宽字符版的方法。

 

2. putch演示

#-*- coding:utf-8 -*-

 

import msvcrt

 

while True:

    ch = msvcrt.getch()

    msvcrt.putch(ch)

 

如上,运行程序后,等待输入,先后输入1, 回车,按Ctrl+c,先是展示1,然后还是1,最后如下:

Python 标准类库-Windows特殊服务之msvcrt「建议收藏」

 

 

 

3. 例子 getche演示

#-*- coding:utf-8 -*-

 

import msvcrt

 

while True:

    ch = msvcrt.getche()

    

 

程序运行后,先后输入 1, 按 Ctrl + c键,中文输入法下输入 我们, 结果输出如下

Python 标准类库-Windows特殊服务之msvcrt「建议收藏」 Python 标准类库-Windows特殊服务之msvcrt「建议收藏」

 

 

对比例子1,例子2,展示更为友好了,但是依旧不足的是中文没法正常显示。解决方案,使用getwchgetwche函数。

 

4. 例子 支持中文

#-*- coding:utf-8 -*-

 

import msvcrt

 

while True:

    ch = msvcrt.getwche()

    

程序运行后,先后输入 1, 按 Ctrl + c键,中文输入法下输入 我们, 结果输出如下

Python 标准类库-Windows特殊服务之msvcrt「建议收藏」

 

 

 

 

5. 例子 循环读取

#-*- coding:utf-8 -*-

 

import msvcrt

 

while True:

    ch = msvcrt.getch()

    msvcrt.putch(ch)

msvcrt.ungetch(ch)

 

程序运行后,先后输入 1,结果控制台不断的输出1

 

6. 例子 做输入判断

 

#-*- coding:utf-8 -*-

 

import msvcrt

 

while True:

    ch = msvcrt.getch()

    print(ch)

    if ch == b’1′:

        print(‘get it’)

    elif ch == b’\x03′:

        print(‘get it too’)

 

程序运行后,先后输入 1, 按 Ctrl + c键,结果输出如下

b’1′

get it

b’\x03′

get it too

 

对比实验

当替换为宽字符版的getwch后,就不好按之前的方式判断了,解决方案:采用ord函数。

 

#-*- coding:utf-8 -*-

 

import msvcrt

 

while True:

    ch = msvcrt.getwch()

    print(ch)

    if ch == ‘1’:

        print(‘get it’)

    elif ord(ch) == 3:

        print(‘get it too’)

 

程序运行后,先后输入 1, 按 Ctrl + c键,结果输出如下

Python 标准类库-Windows特殊服务之msvcrt「建议收藏」

 

 

 

ord函数

给一个Unicode字符,返回该字符的Unicode数字代码

。例如,给定ord(‘a’) 返回整数 97ord(‘\u2020’) 返回 8224。同chr相反。

 

 

函数解说

msvcrt.getch()

读取一个由键盘输入的单个字符,并返回该字符的字节字符串表示(Read a keypress and return the resulting character as a byte string),但不会回显在控制台。如果没有按键输入,则会一直等待输入。

 

msvcrt.getwch()

宽字符版getch,返回Unicode的值。

 

msvcrt.getche()

类似,getch,但是如果按键输入代表可打印字符,会回显在控制台。

 

msvcrt.getwche()

宽字符版getche,返回Unicode值。

 

 

msvcrt.putch(char)

打印字节字符到控制台,不缓冲。

 

msvcrt.putwch(unicode_char)

宽字符版的putch,接收Unicode

 

msvcrt.ungetch(char)

把字节字符回写到控制台缓冲区,将成为getchgetche下一次读取的字符。

 

msvcrt.ungetwch(unicode_char)

宽字符版的ungetch,接收Unicode值。

 

 

更多相关资料,请查看官方文档

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/167357.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • bootstrap-fileinput文件上传&后台接收处理

    bootstrap-fileinput文件上传&后台接收处理使用bootstrap-fileinput进行文件上传,bootstrap提供了吩咐的API属性、方法、事件;控制文件上传每一个环境,提供各个部分的`class`。Java上传图片处理以及nodeJS上传文件处理。

  • KMP算法:next和nextval值计算

    KMP算法:next和nextval值计算KMP算法的next和nextval值计算先看看next数据值的求解方法例:下标从1开始(若题中给定下标为0开始,把所有值-1即可)next数组的求解方法:根据前一个字符next,一直循环找到第

  • oracle可视化工具_oracle rac架构

    oracle可视化工具_oracle rac架构SRVCTL是ORACLERAC集群配置管理的工具,可以管理Database、Instance、ASM、Service、Listener和NodeApplication,NodeApplication包括GSD,ONS,VIP。srvctl的命令格式为srvctl[options]srvctlUsage:srvctl[]command:enable|disable|start|sto…

  • Django(53)二次封装Response

    Django(53)二次封装Response前言有时候我们使用drf的Response,会发现默认返回的格式不太友好,每次我们都需要写入以下的格式returnResponse({"status":0,"

  • 朋友圈集赞万能截图生成器微信小程序源码下载

    朋友圈集赞万能截图生成器微信小程序源码下载大家好这是一款朋友圈积攒截图小程序里面内涵三款样式生成,一款图文,一款分享,一款查看的样式也就是我们微信朋友圈所用到的样式就包含了里面的流量主那些可以用户自由的添加哈!赞的数量那些可以用户自定义的哈另外所需的内容也是用户自定义的安装方法的话和往常一样!直接微信开发者工具打开源码然后设置一个合法域名上传审核就可以了合法域名在压缩包里面,搭建解压了就可以看到了小程序源码下载地址:(442条消息)朋友圈集赞万能截图生成器微信小程序源码下载-小程序文档类资源-CSDN文库ht

  • 新东方尹圆圆老师的博客上找来的「建议收藏」

    新东方尹圆圆老师的博客上找来的「建议收藏」这些网站是从新东方尹圆圆老师的博客上找来的,希望大家好好利用:1.http://www.texun.cn/addrso/index.htm特训网:EnglishLearningWebsites2.http://broadcast-live.com/LiveRadioandTVfromAroundtheWorld3.http://www.nxenglish…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号