python文件操作及异常处理

匿名 (未验证) 提交于 2019-12-02 22:51:30

一、python文件的简单操作

1、任何时候使用文件必须先打开文件,一般私用with open进行操作,单单使用open可能某些时候忘了关闭文件。

2、文件路径需要明确,当使用多个文件夹进行模块化调用的时候,还需要拼接路径,找到父路径。

3、全部加载与逐行读取

4、文件写入

******文件操作******** #文件打开和读取方法 path = 'H:\mods.txt' with open(path,encoding='utf8') as file_object:   #用with打开文件,必要时需要定义字符集     file_object = file_object.read()              #read读取文件内容(大文件时不推荐这种方式)     print(file_object.strip())                    #strip 去除两端的空白,当然还有rstrip() lstrip()  path = 'H:\mods.txt' with open(path, encoding='utf8') as file_object:     file_object = file_object.readlines()     for line in file_object:                       #按行读取,读一行打印一行,不占用内存,大文件可用         print(line.strip()) #文件写入方法 1、‘w’ 写入时会删除文件中原有的内容重新写入   ‘w+’只写不读 with open('test','w',encoding='utf8') as file_object:     file_object.write('oracle是关系型数据库,redis是非关系型数据库\n')          #不要忘记指定换行符\n     file_object.write('i love you\n')  #>>>oracle是关系型数据库,redis是非关系型数据库 #        i love you  2、‘a’ (append) 在原本内容基础上追加内容      'a+'只加不读 with open('test','a',encoding='utf8') as file_object:     file_object.write('oracle是关系型数据库,redis是非关系型数据库\n')     file_object.write('i love you\n')  #>>>oracle是关系型数据库,redis是非关系型数据库 #        i love you #       oracle是关系型数据库,redis是非关系型数据库 #        i love you  3、‘r+’ 可写可读 with open('test','r+',encoding='utf8') as file_object:     file_object.write('oracle是关系型数据库,redis是非关系型数据库\n')     file_object.write('i love you\n')     for line in file_object:         print(line.strip())

二、异常处理

except: #捕获所有异常

except: <异常名>: #捕获指定异常

except:<异常名1,异常名2):捕获异常1或者异常2

except:<异常名>,<数据>:捕获指定异常及其附加的数据

except:<异常名1,异常名2>:<数据>:捕获异常名1或者异常名2,及附加的数据库

常用异常名:


AttributeError 调用不存在的方法引发的异常

ImportError 导入模块出错引发的异常



NameError 使用不存在的变量名引发的异常
TabError 语句块缩进不正确引发的异常
ValueError 搜索列表中不存在的值引发的异常

例:

while True:     a,b= input('a/b')     try:         an = int(a) / int(b)     except ZeroDivisionError:     #除数不为0异常         print('b is not 0')    #用pass可以不显示错误,但这并不是该用的     else:                                  print(an)          #如果没有异常则运行

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!