Python常用操作

Python异常

Python程序中出现的错误类型

  • 代码语法错误
    程序不能成功运行,例如:缺少冒号“:”,缺少左(右)括号等。
  • 代码逻辑错误
    程序成功运行得到错误结果或者程序不能成功运行,例如:传入参数类型不符合要求。
  • 运行环境错误
    当程序不需获取外部信息时能正常运行,而当程序去获取外部信息,例如:数据库、其他类型文件,文件遭到破坏、不存在或者获取不到所需内容时,由运行过程中外部环境带来的错误。

Python捕捉异常

基本异常捕捉语句
try:
	#放置需要检测执行情况的代码,如果出错,即刻停止,执行except里的内容
except:
	#放置try里出错后的代码(往往给出错误信息并且给出出现错误的处理)

如果try里含有多条代码语句,只有在执行到错误的那一句时,才会执行except里的内容,否则正常执行下去

带finally子句的异常处理
try:
	#something
except:
	#something
finally:
	'''
	强制执行的代码,即使前面的try、except中使用使得程序关闭的代码
	(例如:sys.exit())
	finally里的代码都会正常执行,具有强制性
	'''

无论如何finally里的代码都会正常执行,具有强制性

捕捉特定异常信息
try:
	#something
except(Exception):
	#Exception是异常类名,可以是继承Exception类的子类
	#括号内可以写多个,用逗号“,”隔开
finally:
	#something

特定异常类部分情况如下:

异常类名 功能
ValueError 对象值不正确
IndexError 指定的字符串、元组、列表等序列对象的下标元素不存在
NameError 指定的对象名不存在
KeyError 指定的字典键不存在
TypeError 提供了错误类型的对象
ModuleNoFoundError 模块文件找不到或模块文件名错误
SyntaxError 语法无效
AttributeError 对象属性、方法引用或赋值不当

自定义条件抛出异常

可在判断条件下使用此格式:

raise Exception(message)
#Exception:异常类名,可以是继承Exception类的子类或Exception类
#message:回显的信息

Python文件基本操作

open()方法

Python open()方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个对象,如果该文件无法被打开,会抛出OSError异常。
注意:使用open()方法一定要保证关闭文件对象,即调用close()方法。

详细语法和常用函数
在对文件进行读写时,可能因为语法等问题会出现IOError,后面的close()方法就不会被调用。因此常用此方法解决

try:
	f = open(file,mode)
finally:
	if f:
		f.close()

还可以使用with语句自动调用close()方法

with open()方法

with open(file,mode) as f:
	#文件操作代码,与上面给出的链接使用方法一致

注意:使用with语句,不需要使用close()方法关闭文件,处理完自动调用。这也是open()与with open()的重要区别

多线程与多进程

多线程

threading模块

  1. 常用的相关函数如下:
函数名 作用
active_count() 返回当前活动的线程对象的数量
current_thread() 返回当前线程对象
get_ident() 返回当前线程的ID
enumerate() 返回当前活动的所有线程对象(以列表形式)
main_thread() 返回主线程对象
  1. Thread类
    通过调用指定的函数,独立生成一个活动线程。
    方法一:在创建实例对象时,把函数作为target参数的值传给构造函数;
    即,threading.Thread(target=func)
    方法二:通过继承Thread类,重写run()方法。
    即,class test(threading.Thread):
    注:在Thread的子类中,只允许对__init()和run()方法进行重写
    Thread类以构造函数调用形式如下:
Thread(group=None,target=None,name=None,args=(),kwargs={},*,daemon=None)
#group参数,Python中用于保留,作为将来扩展功能。直接忽视即可。
#target参数,线程需要执行的函数,被run()方法调用。
#name参数,线程的名称,默认为Thread-N。
#args参数,当需要执行的函数带有参数时,把参数以元组形式通过args传递给target参数对应的的函数。
#kwargs参数,同上,不过以字典的形式传。
#daemon参数,通过设置(True或False)确定是否为守护线程,默认为非守护线程。
#守护线程:当主线程退出时,守护线程会同步终止执行。

参考文献:

  1. Python编程从零基础到项目实战.刘瑜.北京:中国水利水电出版社
  2. 菜鸟教程

你可能感兴趣的:(Python常用操作)