python文件操做及异常处理,json文件操做

1、python文件的简单操做python

一、任什么时候候使用文件必须先打开文件,通常是用with open进行操做,单单使用open可能某些时候忘了关闭文件。redis

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

三、所有加载与逐行读取json

四、文件写入oracle

******文件操做********
#文件打开和读取方法
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

三、‘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())

 

2、异常处理app

except: #捕获全部异常模块化

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

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

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

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)          #若是没有异常则运行

 3、json模块

一、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)

二、load

import json
with open('users.json','r') as object: #对上面的user.json读取 file = json.load(object)         print(file)
相关文章
相关标签/搜索