python命令行输入函数回退_Python2 中 input() 和 raw_input() 的区别
在 Python2 中如要想要获得用户从命令行的输入,可以使用 input() 和 raw_input() 两个函数,那么这两者有什么区别呢?
我们先借助 help 函数来看下两者的文档注释:
>>> help(raw_input)
Help on built-in function raw_input in module __builtin__:
raw_input(...)
raw_input([prompt]) -> string
Read a string from standard input. The trailing newline is stripped.
If the user hits EOF (Unix: Ctl-D, Windows: Ctl-Z+Return), raise EOFError.
On Unix, GNU readline is used if enabled. The prompt string, if given,
is printed without a trailing newline before reading.
>>> help(input)
Help on built-in function input in module __builtin__:
input(...)
input([prompt]) -> value
Equivalent to eval(raw_input(prompt)).
可以看出,raw_input() 返回的始终是一个“原始”(raw)字符串,并且去掉了行末的换行符。
值得注意的是,文档还提到“On Unix, GNU readline is used if enabled. ”,
这是说,如果 *nix 系统中安装了 GNU readline 库,并且在 python 中启用了(import readline),那么 raw_input() 底层就会调用这个库。
如果不启用,raw_input() 也能用,只不过会读取你键盘输入的所有字符,包括不可见字符,比如回退键……这样就很不方便了是不是。
而 input() 其实是在 raw_input() 返回的结果上再 调用了 eval() 函数,把原始字符串计算成 python 可以识别的对象。
在 Pyhon3 中,已经没有 raw_input() 函数了,而剩下 input() 函数与 Python2 中的 raw_input() 行为一致:
>>> help(raw_input)
Traceback (most recent call last):
File "", line 1, in
NameError: name ‘raw_input‘ is not defined
>>> help(input)
Help on built-in function input in module builtins:
input(prompt=None, /)
Read a string from standard input. The trailing newline is stripped.
The prompt string, if given, is printed to standard output without a
trailing newline before reading input.
If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
On *nix systems, readline is used if available.
python命令行输入函数回退_Python2 中 input() 和 raw_input() 的区别相关推荐
- python命令行输入函数回退_Anaconda--成功解决python2与python3之间随意切换的问题!...
Anaconda 由于python2与python3不兼容,之前一直使用python2,但由于种种原因不得不使用python3.我使用的python的集成开发环境是pycharm,使用了好多种办法使p ...
- python命令行输入函数回退_linux命令.
1.Linux命令 1.关机.重启 关机 :init 0 重启 :init 6 2.rm 1.rm -rf 文件/目录 r :递归删除文件夹内的子文件夹 f :强制删除,force 2.练习 1.在用 ...
- python中str和input_python中input()与raw_input()的区别分析
使用input和raw_input都可以读取控制台的输入,但是input和raw_input在处理数字时是有区别的 纯数字输入 当输入为纯数字时 input返回的是数值类型,如int,float ra ...
- python中int和input的区别_python中input()与raw_input()的区别分析
使用input和raw_input都可以读取控制台的输入,但是input和raw_input在处理数字时是有区别的 纯数字输入 当输入为纯数字时 input返回的是数值类型,如int,float ra ...
- python中input和raw_input的区别
input和raw_input在处理数字时是有区别的: 1.输入为纯数字时 input返回的是数值类型,如int,float raw_inpout返回的是字符串类型,string类型 2.输入字符串为 ...
- python中input()与raw_input()的区别到底是啥?-----marsggbo原创作品为你解答
首先先给出总结:input () = int(raw_input()) 有图有真相!!! 先看看input的例子: 可见用input键入得到int类型的数据,那如果输入一些非int类型的会怎么样呢? ...
- python 命令行参数 parser.add_arguement 中各参数的意思
class Action(_AttributeHolder): """Information about how to convert command line stri ...
- 对于python命令行参数使用,你应该这么做才专业
python命令行参数 在python开发中,我们经常会遇到在执行代码时,需要给代码传参的情况. 遇到传参的场景,最基础的传参方式为*.py argv1 argv2 ...,然后我们在代码中通过sya ...
- 对于python命令行,你应该这么做才专业
论吃苦 和朋友聊天,说到了学习的问题.不知道何时听过一句话,因为不想吃生活的苦,所以我忍受着学习的苦.生活的苦只要躺着就能吃到,而学习的苦却要我们逼着自己去吃.每天下班回来等到孩子睡了开始学习,学的差 ...
最新文章
- 【Qt】Qt单例模式三种实现
- Python3基础笔记---面向对象
- OpenCV——KNN分类算法 摘
- 如何在windows上玩转redis的最新特性?
- weblogic自带的jdk是在工程的包部署后编译使用
- java ibatis 获取执行的sql_小程序官宣+JAVA 三大框架基础面试题
- poj 1637 Sightseeing tour——最大流+欧拉回路
- linux ora-39002,impdp ORA-39002,ORA-39166,ORA-39164的问题及解决
- OpenCV-Mat笔记
- 卷积神经网络--可视化中间激活
- python函数参数为文件名_从零开始第5步:Python 函数和模块
- Day 32 processthreading_4
- selenium chrome历史版本docker镜像分享
- flash builder 4.7破解亲测可用
- 经纬度 度分秒转换为小数
- 设置qgraphicsitem原点_QT QGraphicsScene设置原点左下角
- 三校生高考计算机基础知识,计算机基础知识题(单选题)(三校生历年高考真题归纳)...
- 计算机基础实训评分标准,计算机实训考核办法细则.doc
- 翻译python代码的软件_Linux环境下的Python翻译工具源码
- 小程序下拉刷新 上拉加载等多
热门文章
- 【Kafka】Kafka Consumer 管理 Offset 原理
- 【MySQL】MySQL 中的函数
- 【Java】java Java反编译器
- Kudu : NonRecoverableException: illegal replication factor 2 (replication factor must be odd)
- spark学习-72-源代码:Endpoint模型介绍(4)-Spark为何使用Netty通信框架替代Akka
- Linux终端复用神器-tmux初探
- 计算机网络---HTTP状态码
- eclipse上的.properties文件中文编辑显示问题
- php图片写入带问号_php-fpm Remote Code Execution 分析(CVE-2019-11043)
- 【Hive的高级查询详】