1. 程式人生 > 其它 >01-09Python程式設計:檔案和異常

01-09Python程式設計:檔案和異常

技術標籤:Python我的逆襲之路pythonjson

1 內容概要

1.1從檔案中讀取資料

  • 涉及關鍵字:with(用於自動關閉檔案)
  • 涉及函式:
    • open()開啟檔案
    • close()關閉檔案
    • read()讀取檔案
    • rstrip()刪除空行

注意 最好的辦法還是講檔案和程式放在一起,按照路徑讀取操作較為困難

with open('pi_digits.txt') as f:
    c=f.read()
print(c)
#刪掉空行
print(c.rstrip())

#按照路徑讀取檔案
#file_path='C:\Users\Administrator\Python 學習\chapter_10\pi_digits.txt'
#with open(file_path) as l:
#    cc=l.read()
#print(cc)

print('______________\n')
#逐行讀取
with open('pi_digits.txt') as f:
    for line in f:
        print(line.rstrip())

1.2 寫入檔案

  • 開啟檔案時,可指定讀取模式('r')、寫入模式('w')、附加模式('a')或讓你能夠讀取和寫入檔案的模式('r+')。如果你省略了模式實參, Python將以預設的只讀模式開啟檔案如果你要寫入的檔案不存在,函式open()將自動建立它。然而,以寫入('w)模式開啟檔案時千萬要小心,因為如果指定的檔案已經存在, Python將在返回檔案物件前清空該檔案。
  • 注意 Python只能將字串寫入文字文伻。要將數值資料儲存到文字檔案中,必須先使用函式str()將其轉換為字串格式。
  • 如果你要給檔案新增內容,而不是覆蓋原有的內容,可以附加模式開啟檔案。你以附加模式開啟檔案時, Python不會在返回檔案物件前清空檔案,而你寫入到檔案的行都將新增到檔案末尾。
  • 如果指定的檔案不存在, Python將為你建立一個空檔案。
filename='test'

with open(filename,'w') as fl:
    fl.write('happy')
    fl.write(' today')
    fl.write('\ntoday')

with open(filename,'a') as fla:
    fla.write('\nYes')

1.3 異常

  • 對於ZeroDivisionError異常使用try-except程式碼塊或者try-except-else程式碼塊
  • 對於FileNotFoundError異常使用文字分析

1.4 儲存資料

  • 函式json.dump()接受兩個實參:要儲存的資料以及可用於儲存資料的檔案物件。另外一個函式是json.load()。

2 尾記

其實更多是處理CSV資料,用pandas比較好一點。