python文件讀寫、異常處理


Python進階----文件讀、寫

函數open:文件讀寫,默認讀模式
    open(路徑文件名.后綴名)
eg:file = open('D:\\tes.txt')
    content = file.read()
    print(content)
    file.close()
讀:
read():從文檔開始位置讀取
readline():讀取一行內容,文件指針在哪里就從哪里開始讀取一行
readlines():讀取文件所有行的內容成為列表,每一行都是列表中的一個元素,包含換行符\n
    r:只讀
    r+:可讀可寫,不會創建不存在的文件,從頂部開始寫,會覆蓋之前此位置的內容
    eg:file = open('tes.txt','r+',encoding= 'utf-8')
        file.write('aaa')
        file.close()
    w+:可讀可寫,如果文件存在,則覆蓋整個文件,不存在則創建
    eg:file = open('tes.txt','w+',encoding= 'utf-8')
        file.write('aaa')
        content = file.read()
        print(content)
        file.close()
    w:只能寫,覆蓋整個文件,不存在則會創建
    eg:file = open('tes.txt','w',encoding= 'utf-8')
        file.white('aaa')
        file.close()
    a:只能寫,從文件底部添加內容,不存在則創建
    eg:file = open('tes.txt','a',encoding= 'utf-8')
        file.write('aaa')
        file.close()
    a+:可讀可寫 從文件頂部讀取內容 從文件底部添加內容 不存在則創建
    eg:file = open('tes.txt','a+',encoding= 'utf-8')
        file.write('aaa')
        file.close()   寫入內容
    eg:file = open('tes.txt','a+',encoding= 'utf-8')
        print(file.tell)
        file.seek(0)
        print(file.tell)
寫:
write只能寫入一個字符串
writelines:可以寫入多行,傳入一個列表
移動光標指針:seek
  file.seek(0)
獲取文件指針位置:tell
  file.tell()
   
with open:默認文件讀寫結束后自動關閉,同時可以讀寫多個文件

csv文件讀寫:文件后綴名為.csv
import csv
a = csv.reader(open('D:/文件名'))
for row in a:
  print(row)
  寫入時會默認形成一個空行

異常處理:

代碼出現錯誤,解釋器會中斷當前模塊代碼的執行;
異常捕獲:try
  try:
      異常內容
  except 捕獲異常
 
(1)捕獲指定異常類型:
eg:try:
      sfzs
      5 / 0
  except NameError
      print("NameError")
       
(2)捕獲指定多種異常類型:
eg:try:
    print("hello")
    xzfcdz
    5 / 0
  except NameError
    print("NameError")
  except ZeroDivisionError
    print("ZeroDivisionError")
     
(3)捕獲異常的詳細信息:
eg:try:
    print("hello")
    xzfcdz
    漢字
  except NameError as e
    print("NameError",e)
  except ZeroDivisionError as e
    print("ZeroDivisionError",e)
   
(4)捕獲任意類型異常:Exception
eg:try:
      5 / 0
      sdgsv
  except Exception:
      print("捕獲所有異常")
     
eg:try:
      5 / 0
      sdgsv
  except Exception as e:
      print("捕獲所有異常",e)
     
eg:try:
      5 / 0
      sdgsv
  except:
      print("捕獲所有異常",traceback.format_exc())
捕獲所有異常類型,等價於except Exception,並輸出異常詳細信息
異常拋出:raise
else:出現異常不會執行
finally:代碼不論有無異常都會執行

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM