目录
- 1. 异常处理
- 2. 模块(Module)
- 3. 文件操作
- open()
- write()
- close()
- read()
- 重命名和删除文件
- 4. GUI编程
- pack() 布局管理器
- Entry 和 Text
- ListBox
1. 异常处理
异常:代码在执行过程中发生的一个特殊的事件。
如果不对异常进行处理,那么当出现异常时,程序就会崩溃无法正确运行。
处理异常要用到try
/except
语句。
用法:try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。如果你不想在异常发生时结束你的程序,只需在try里捕获它。
try:
<语句> #运行别的代码
except <name>:
<语句> #如果在try部份引发了'name'异常
except <name>,<数据>:
<语句> #如果引发了'name'异常,获得附加的数据
else:
<语句> #如果没有异常发生
如果不知道异常名称,可以使用BaseException
,如
while 1:
try:
num1 = raw_input("num1: ")
num2 = raw_input("num2: ")
result = int(num1) / int(num2)
except BaseException:
print "Exception!!" + "\n"
else:
print "The result is: %d" % result + "\n"
2. 模块(Module)
模块:是一个Python文件,当我们做一个程序时,可以把与某功能的相关代码写在一个模块里,这些可以使我们整体的代码更清晰、更好用。import
导入一个模块。
可以使用from
…import
…的形式导入模块。
如from selenium import webdriver
表示我们导入了selenium模块中的webdriver函数。
可以使用别名,如import re as regex
3. 文件操作
open()
你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。file object = open(file_name [, access_mode][, buffering])
- filename: 文件名称的字符串值。
- access_mode:打开文件的模式(只读、写入、追加等)。默认模式为只读(r)
- 如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。
write()
write()方法可将任何字符串写入一个打开的文件。write()方法不会在字符串的结尾添加换行符(’\n’):fileObject.write(string)
Python字符串可以是二进制数据,而不是仅仅是文字。
close()
File对象的 close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。
当一个文件对象的引用被重新指定给另一个文件时,Python 会关闭之前的文件。fileObject.close()
read()
read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。fileObject.read([count])
count: 要从已打开文件中读取的字节计数。如果没有参数,则读到文件末尾。
重命名和删除文件
导入os模块import os
rename:os.rename(current_file_name, new_file_name)
remove:os.remove(file_name)
4. GUI编程
Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下:
- Tkinter
- wxPython
- Jython
导入Tkinter库from Tkinter import *
python 3.x 叫tkinter
from tkinter import *
root = Tk()
root.geometry("500x400")
root.title("cccc")
btn = Button(root, text = "button")
btn.pack()
label = Label(root)
label.pack()
label.config(text = "label")
root.mainloop()
pack() 布局管理器
使用 Pack 布局,当程序向容器中添加组件时,这些组件会依次向后排列,排列方向既可是水平的,也可是垂直的。
参数:
- side:设置组件的添加位置,可以设置为 TOP、BOTTOM、LEFT 或 RIGHT。
- anchor:当可用空间大于组件所需求的大小时,该选项决定组件被放置在容器的何处(对齐方式)。该选项支持 N(北,代表上)、E(东,代表右)、S(南,代表下)、W(西,代表左)、NW(西北,代表左上)、NE(东北,代表右上)、SW(西南,代表左下)、SE(东南,代表右下)、CENTER(中,默认值)这些值。
from Tkinter import *
root = Tk()
root.geometry("500x400")
root.title("CCCCCC")
saveBtn = Button(root, text = "save")
saveBtn.pack(side = LEFT, anchor = 'sw')
quitBtn = Button(root, text = "quit")
quitBtn.pack(side = RIGHT, anchor = 'se')
writeBtn = Button(root, text = "Write")
writeBtn.pack(side = BOTTOM)
readBtn = Button(root, text = "red")
readBtn.pack(side = BOTTOM)
label = Label(root)
label.pack()
label.config(text = "TDDD")
root.mainloop()
Entry 和 Text
Entry:输入控件
Text::显示多行文件
textVar = StringVar()
entry = Entry(root, textvariable = textVar)
entry.pack()
text = Text(root)
text.pack()
StringVar是一个字符串变量类型,textvariable表示文本框中的值。
ListBox
列表框控件:在Listbox窗口小部件是用来显示一个字符串列表给用户。