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)
相關文章
相關標籤/搜索