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(转载)的更多相关文章

  1. Python 10 —— 杂

    Python 10 —— 杂 科学计算 NumPy:数组,数组函数,傅里叶变换 SciPy:依赖于NumPy,提供更多工具,比如绘图 绘图 Matplitlib:依赖于NumPy和Tkinter

  2. python 常用模块(转载)

    转载地址:http://codeweblog.com/python-%e5%b8%b8%e7%94%a8%e6%a8%a1%e5%9d%97/ adodb:我们领导推荐的数据库连接组件bsddb3:B ...

  3. python项目推荐(转载知乎)

    作者:Wayne Shi链接:https://www.zhihu.com/question/29372574/answer/88744491来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...

  4. 如何拿到半数面试公司Offer——我的Python求职之路(转载)

    从八月底开始找工作,短短的一星期多一些,面试了9家公司,拿到5份Offer,可能是因为我所面试的公司都是些创业性的公司吧,不过还是感触良多,因为学习Python的时间还很短,没想到还算比较容易的找到了 ...

  5. 使用Python开发SQLite代理服务器(转载)

    转载:https://mp.weixin.qq.com/s?timestamp=1498531736&src=3&ver=1&signature=Eq6DPvkuGJi*G5s ...

  6. Python快速教程(转载)

    Python快速教程   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 怎么能快速地掌握Python?这是和朋友闲聊时谈起的问题 ...

  7. Python标准模块--logging(转载)

    转载地址:http://www.cnblogs.com/zhbzz2007/p/5943685.html#undefined Python标准模块--logging 1 logging模块简介 log ...

  8. centos下python中添加easygui模块

    前提:python中要集成Tkinter,Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同 ...

  9. python图片添加水印(转载)

    转载来自:http://blog.csdn.net/orangleliu/ # -*- encoding=utf-8 -*- ''''' author: orangleliu pil处理图片,验证,处 ...

随机推荐

  1. java 如何正确的输出集合或者对象的值

    java 如何正确的输出集合或者对象的值 一般out.println(Object) 和 System.out.println(Object),其中输出的都是Object.toString()方法.重 ...

  2. python 结合redis 队列 做一个例子

    结合redis 队列 做了一个例子 #!/usr/bin/env python # coding: utf-8 # @Time : 2018/12/21 0021 13:57 # @Site : # ...

  3. vue手脚架中使用jq

    下载jq npm install jquery; 找到build文件夹下的webpack.base.config.js 先在开始的地方引入webpack const webpack = require ...

  4. 没想到 Hash 冲突还能这么玩,你的服务中招了吗?

    背景 其实这个问题我之前也看到过,刚好在前几天,洪教授在某个群里分享的一个<一些有意思的攻击手段.pdf>,我觉得这个话题还是有不少人不清楚的,今天我就准备来“实战”一把,还请各位看官轻拍 ...

  5. OpenFeign使用步骤

    1. 新建 cloud-consumer-feign-order80 2. pom.xml <?xml version="1.0" encoding="UTF-8& ...

  6. python基础全部知识点整理,超级全(20万字+)

    目录 Python编程语言简介 https://www.cnblogs.com/hany-postq473111315/p/12256134.html Python环境搭建及中文编码 https:// ...

  7. Python访问字符串中的值

    Python访问字符串中的值: 1.可以使用索引下标进行访问,索引下标从 0 开始: # 使用索引下标进行访问,索引下标从 0 开始 strs = "ABCDEFG" print( ...

  8. PHP debug_print_backtrace() 函数

    定义和用法 debug_print_backtrace() 函数打印 backtrace. 该函数显示由 debug_print_backtrace() 函数代码生成的数据. 语法 debug_pri ...

  9. P3565 由简单的树形dp 引入 长链刨分

    这道题感觉不太行 因为自己没想出来. 先说一下暴力吧,取三个点 让两两之间的距离相等怎么做呢,看起来是很复杂的样子的,但是仔细观察发现 答案出自一个点的儿子之间 或者儿子和父亲之间. 暴力枚举三个点然 ...

  10. Spark初探

    Apache Spark是一个针对大规模数据的快速.统一处理引擎. One stack rule them all 1-Stream Processing :spark Streaming 2-Ad- ...