python 10 else EasyGui(转载)
else语句
if else 要么怎么样,要么不怎么样
while else 干完了能怎样,干不完就不怎样
(异常处理) else 没有问题,就干吧
try:
int('a')
except ValueError as reason:
print('出错' + str(reason) )
else:
print('ok')
如果不用with语句,代码如下:
file = open("/tmp/foo.txt")
data = file.read()
file.close()
这里有两个问题:
一是可能忘记关闭文件句柄;
二是文件读取数据发生异常,没有进行任何处理。
下面是处理异常的加强版本:
try:
f = open('xxx')
except:
print 'fail to open'
exit(-1)
try:
do something
except:
do something
finally:
f.close()
with自动关闭文件
with open("/tmp/foo.txt") as file:
data = file.read()
try:
with open ('123','w') as f:
for e in f:
peint(e)
except OSError as reason:
print('出错' + str(reason) )
图形用户界面 EasyGui
python setup.py install #安装python的命令行
建议不要在 IDLE 上运行 EasyGui
EasyGui 是运行在 Tkinter 上并拥有自身的事件循环,而 IDLE 也是 Tkinter 写的一个应用程序并也拥有自身的事件循环。因此当两者同时运行的时候,有可能会发生冲突,且带来不可预测的结果。因此如果你发现你的 EasyGui 程序有这样的问题,请尝试在 IDLE 外去运行你的程序。
import easygui
easygui.msgbox('hi')
导入整个 EasyGui 包,省掉每次的easygui
from easygui import *
msgbox('hi')
命名成g
import easygui as g
g.msgbox('hi')
msgbox() 显示一个消息和提供一个"OK"按钮,你可以指定任意的消息和标题
g.msgbox(msg="我一定要学会编程!",title="标题部分",ok_button="加油")
ccbox() 提供一个选择:Continue 或者 Cancel,并相应的返回 1(选中Continue)或者 0(选中Cancel)。注意 ccbox() 是返回整型的 1 或 0,不是布尔类型的 True 或 False。
if g.ccbox("亲爱的还玩吗?",choices=("还要玩!","算了吧/(ㄒoㄒ)/~~")):
g.msgbox("还是不玩了,快睡觉吧!")
还要玩!时返回1,执行接下来的判断内容
ynbox()老实说,这个函数和ccbox()功能一模一样
4、buttombox()
buttonbox(msg='', title=' ', choices=('Button1', 'Button2', 'Button3'), image=None, root=None)
可以使用 buttonbox() 定义自己的一组按钮,buttonbox() 会显示一组你定义好的按钮。
当用户点击任意一个按钮的时候,buttonbox() 返回按钮的文本内容。如果用户取消取消或者关闭窗口,那么会返回默认选项(第一个选项)。请看例子:
5、indexbox()
indexbox(msg='Shall I continue?', title=' ', choices=('Yes', 'No'), image=None)
基本跟上面一样,区别就是当用户选择第一个按钮的时候返回序列号0,选择第二个按钮时候返回序列号1。
6、boolbox()
boolbox(msg='Shall I continue?', title=' ', choices=('Yes', 'No'), image=None)
如果第一个按钮被选中则返回 1,否则返回 0。
7、在buttonbox()中显示图片
当你调用一个 buttonbox 函数(例如 msgbox(), ynbox(), indexbox() 等等)的时候,
你还可以为关键字参数 image 赋值,这是设置一个 .gif 格式的图像(注意仅支持 GIF 格式哦):
8、choicebox()
choicebox(msg='Pick something.', title=' ', choices=())
按钮组件方便提供用户一个简单的按钮选项,但如果有很多选项,或者选项的内容特别长的话,更好的策略是为它们提供一个可选择的列表。
choicebox() 为用户提供了一个可选择的列表,使用序列(元祖或列表)作为选项,这些选项显示前会按照不区分大小写的方法排好序。
另外还可以使用键盘来选择其中一个选项(比较纠结,但一点儿都不重要):
- 例如当按下键盘上的"g"键,将会选中的第一个以"g"开头的选项。
- 再次按下"g"键,则会选中下一个以"g"开头的选项。
- 在选中最后一个以"g"开头的选项的时候,再次按下"g"键将重新回到在列表的开头的第一个以"g"开头的选项。
- 如果选项中没有以"g"开头的,则会选中字符排序在"g"之前("f")的那个字符开头的选项。
- 如果选项中没有字符的排序在"g"之前的,那么在列表中第一个元素将会被选中。
综合我们之前学习的文件功能,举个通俗的例子
9、mutchoicebox()
multchoicebox(msg='Pick as many items as you like.', title=' ', choices=(), **kwargs)
multchoicebox() 函数也是提供一个可选择的列表,与 choicebox() 不同的是,multchoicebox() 支持用户选择 0 个,1 个或者同时选择多个选项。
multchoicebox() 函数也是使用序列(元祖或列表)作为选项,这些选项显示前会按照不区分大小写的方法排好序。
10、enterbox()
enterbox(msg='Enter something.', title=' ', default='', strip=True, image=None, root=None)
enterbox() 为用户提供一个最简单的输入框,返回值为用户输入的字符串。
默认返回的值会自动去除首尾的空格,如果需要保留首尾空格的话请设置参数 strip=False。
11、interbox()integerbox(msg='', title=' ', default='', lowerbound=0, upperbound=99, image=None, root=None, **invalidKeywordArguments)
integerbox() 为用户提供一个简单的输入框,用户只能输入范围内(lowerbound参数设置最小值,upperbound参数设置最大值)的整型数值,否则会要求用户重新输入。
12、mulenterbox()
multenterbox(msg='Fill in values for the fields.', title=' ', fields=(), values=())
multenterbox() 为用户提供多个简单的输入框,要注意以下几点:
- 如果用户输入的值比选项少的话,则返回列表中的值用空字符串填充用户为输入的选项。
- 如果用户输入的值比选项多的话,则返回的列表中的值将截断为选项的数量。
- 如果用户取消操作,则返回域中的列表的值或者None值
13、passwordbox()
passwordbox(msg='Enter your password.', title=' ', default='', image=None, root=None)
passwordbox() 跟 enterbox() 样式一样,不同的是用户输入的内容用"*"显示出来,返回用户输入的字符串:
14、multpasswordbox()
multpasswordbox(msg='Fill in values for the fields.', title=' ', fields=(), values=())
multpasswordbox() 跟 multenterbox() 使用相同的接口,但当它显示的时候,最后一个输入框显示为密码的形式("*"):
15、textbox()
textbox(msg='', title=' ', text='', codebox=0)
textbox() 函数默认会以比例字体(参数 codebox=1 设置为等宽字体)来显示文本内容(会自动换行哦),这个函数适合用于显示一般的书面文字。
注:text 参数(第三个参数)可以是字符串类型,列表类型,或者元祖类型。
python 10 else EasyGui(转载)的更多相关文章
- Python 10 —— 杂
Python 10 —— 杂 科学计算 NumPy:数组,数组函数,傅里叶变换 SciPy:依赖于NumPy,提供更多工具,比如绘图 绘图 Matplitlib:依赖于NumPy和Tkinter
- python 常用模块(转载)
转载地址:http://codeweblog.com/python-%e5%b8%b8%e7%94%a8%e6%a8%a1%e5%9d%97/ adodb:我们领导推荐的数据库连接组件bsddb3:B ...
- python项目推荐(转载知乎)
作者:Wayne Shi链接:https://www.zhihu.com/question/29372574/answer/88744491来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...
- 如何拿到半数面试公司Offer——我的Python求职之路(转载)
从八月底开始找工作,短短的一星期多一些,面试了9家公司,拿到5份Offer,可能是因为我所面试的公司都是些创业性的公司吧,不过还是感触良多,因为学习Python的时间还很短,没想到还算比较容易的找到了 ...
- 使用Python开发SQLite代理服务器(转载)
转载:https://mp.weixin.qq.com/s?timestamp=1498531736&src=3&ver=1&signature=Eq6DPvkuGJi*G5s ...
- Python快速教程(转载)
Python快速教程 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 怎么能快速地掌握Python?这是和朋友闲聊时谈起的问题 ...
- Python标准模块--logging(转载)
转载地址:http://www.cnblogs.com/zhbzz2007/p/5943685.html#undefined Python标准模块--logging 1 logging模块简介 log ...
- centos下python中添加easygui模块
前提:python中要集成Tkinter,Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同 ...
- python图片添加水印(转载)
转载来自:http://blog.csdn.net/orangleliu/ # -*- encoding=utf-8 -*- ''''' author: orangleliu pil处理图片,验证,处 ...
随机推荐
- 乌班图16 配置nginx
阿里云 乌班图16 安装ngnix sudo apt install nginx nginx 启动 重启 关闭 sudo service nginx start restart stop status ...
- Java7/8 中的 HashMap 和 ConcurrentHashMap
Java7 HashMap 数组+链表 Java7 ConcurrentHashMap Segment数组+HashEntry数组链表+ReenTrantLock分段锁 Java8 HashMa ...
- java基础(七)--基本类型转换
一.转换规则 1.类型转换的原则是: 小容量可以自动转成大容量,大容量转成小容量,需要强制转换,有些类型之前不能转换 判断以下语句是否符合要求 2.默认的识别数字 整数默认->int 浮点数默认 ...
- Eureka服务发现Discovery
功能: 对于注册进Eureka里面的微服务,可以通过服务发现来获得该服务的信息 修改controller 主启动类加@EnableDiscoveryClient注解
- PHP asinh() 函数
实例 返回不同数的反双曲正弦: <?phpecho(asinh(7) . "<br>");echo(asinh(56) . "<br>&qu ...
- PHP imagealphablending - 设定图像的混色模式
imagealphablending — 设定图像的混色模式.高佣联盟 www.cgewang.com 语法 bool imagealphablending ( resource $image , b ...
- PHP mysqli_set_charset() 函数
设置默认客户端字符集: <?php 高佣联盟 www.cgewang.com // 假定数据库用户名:root,密码:123456,数据库:RUNOOB $con=mysqli_connect( ...
- luogu P5470 [NOI2019]序列 dp 贪心 费用流 模拟费用流
LINK:序列 考虑前20分 容易想到爆搜. 考虑dp 容易设\(f_{i,j,k,l}\)表示前i个位置 选了j对 且此时A选择了k个 B选择了l个的最大值.期望得分28. code //#incl ...
- P5468 [NOI2019]回家路线 斜率优化 dp
LINK:回家路线 (文化课 oi 双爆炸 对 没学上的就是我.(我错了不该这么丧的. 不过还能苟住一段时间.当然是去打NOI了 这道题去年同步赛的时候做过.不过这里再次提醒自己要认真仔细的看题目 不 ...
- 解决痛苦的方法/cy
这篇文章 源于我所有痛苦的回忆. 由于痛苦太多了 体会完了 所以 觉得这些都不算是什么大问题了 所以 这里 是解决痛苦的方法. 真的很痛苦的话 可以这样 对着全班人喊你们 都没我强 因为 你们都没有我 ...