一、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 调用不存在的方法引发的异常
EOFError 遇到文件末尾引发的异常
ImportError 导入模块出错引发的异常
IndexError 列表越界引发的异常
IOError I/O操作引发的异常,如打开文件出错等
KeyError 使用字典中不存在的关键字引发的异常
NameError 使用不存在的变量名引发的异常
TabError 语句块缩进不正确引发的异常
ValueError 搜索列表中不存在的值引发的异常
ZeroDivisionError 除数为零引发的异常
例:
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) #如果没有异常则运行
三、json模块
1、dump
import json data = {'name':'abc','age':18} #这里可以input用户交互 filename = 'users.json' #创建一个json名 with open (filename,'r+') as object: #读/写状态必须有 json.dump(data,object) print(data)
2、load
import json with open('users.json','r') as object: #对上面的user.json读取 file = json.load(object) print(file)