Python学习笔记 -- 中级篇

目录

  • 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导入一个模块。
可以使用fromimport…的形式导入模块。
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()

Python学习笔记 -- 中级篇_第1张图片

Entry 和 Text

Entry:输入控件
Text::显示多行文件

textVar = StringVar()
entry = Entry(root, textvariable = textVar)
entry.pack()

text  = Text(root)
text.pack()

StringVar是一个字符串变量类型,textvariable表示文本框中的值。
Python学习笔记 -- 中级篇_第2张图片

ListBox

列表框控件:在Listbox窗口小部件是用来显示一个字符串列表给用户。
Python学习笔记 -- 中级篇_第3张图片

你可能感兴趣的:(python)