Python系列教程24

阅读: 评论:0

Python系列教程24

Python系列教程24

input的技巧

不幸的是,在Windows中,点击文件图标的结果也许不是特别令人满意。事实上,之前编写的脚本在点击后产生了一个令人困惑的“一闪而过”的结果,而不是Python程序的入门者所期盼的结果反馈。这不是Bug,但是需要做某种操作才能够让Windows处理打印的结果。

在默认情况下,Python会生成弹出一个黑色DOS终端窗口作为文件的输入或输出。如果脚本打印后退出了,也就是说,它仅是打印后退出终端窗口显示,然后文本在这里打印,但是在程序退出时,终端窗口关闭并消失。除非你反应非常快,或者是机器运行非常慢,否则看不到任何输出。尽管这是很正常的行为,但是这也许并不是你所想象的那样。

幸运的是,这样的问题很好解决。如果需要通过图标点击运行脚本,脚本输出后暂停,可以简单地在脚本的最后添加内置input函数的一条调用语句(Python 2.6中的raw_input,参见前面的注释)。例如:

A first Python script

import sys # Load a library module
print(sys.platform)
print(2 ** 100) # Raise 2 to a power

x = ‘Spam!’

print(x * 8) # String repetition
input()  # <== ADDED

一般来说,input读取标准输入的下一行,如果还没有得到的话一直等待输入。在这种情形下执行的实际效果就是让脚本暂停,直到按下回车键为止。

现在介绍的这个技巧,往往只在Windows中才是必要的,并且只是当脚本打印文本后退出或只是当通过点击文件图标运行脚本才是必要的。当且仅当以上这三个条件全部都生效时,才应当在顶层文件的最后增加这个调用。没有理由在任何其他的情况下在文件中增加这个调用(除非你超出常理地热衷于按下计算机的Enter键)。这听起来是显而易见的事情,但确是现实的类中的另一个常见的错误。

在我们继续学习之前,注意在输入时所使用的input调用相当于在输出时使用的打印语句。这是读取用户输入的最简单的办法,并且实际上它比这个例子中的应用更全面。例如,input。
•可选的接受字符串,这些字符串将作为提示打印出来[例如,input(‘Press Enter to exit’)]。
•以字符串的形式为脚本返回读入的文本[例如,nextinput = input()]。
•在系统shell的层面上支持输入流的重定向(例如,python spam.py < ),就像输出时的打印语句一样。

在后续文章中,我们将会以更复杂的方法使用input。例如,我们将会在交互循环中使用它。

注意:版本差异提示:如果你使用Python 2.6或者更早的版本,在这段代码中使用raw_input()而不要使用input()。在Python 3.0中,前者重新命名为后者。从技术上讲,Python 2.6也有一个input,但是,它对字符串求值,就好像它们是输入到一个脚本的程序代码一样,因此,该函数在这个环境中无效(一个空字符串会产生错误)。Python 3.0的input(以及Python 2.6的raw_input())直接把输入的文本作为一个字符串返回,而不会求值。要在Python 3.0中模拟Python 2.6的input,使用eval(input())。

本文发布于:2024-02-02 11:31:38,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170684469943517.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:教程   系列   Python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23