文件讀取 讀取模式('r')、寫入模式寫入模式('w')、附加模式附加模式('a')或讓你能夠讀取和寫入文件的模式('r+' 如果要寫入的文件不存在,函數open()將自動創建它。然而,以寫入('w')模式打開文件時千萬要小心,因為如果指定的文件已經存在,Python將在返迴文件對象前清空該文件 p ...
文件讀取
讀取模式('r')、寫入模式寫入模式('w')、附加模式附加模式('a')或讓你能夠讀取和寫入文件的模式('r+' 如果要寫入的文件不存在,函數open()將自動創建它。然而,以寫入('w')模式打開文件時千萬要小心,因為如果指定的文件已經存在,Python將在返迴文件對象前清空該文件 python只能將字元串寫入文本文件。要將數值數據存儲到文本文件中,必須先使用函數str()將其轉換為字元串格式。1 # f=open('test.txt','r+') 2 # f.write('Avaya')#新內容會添加在文件的開頭,並且會覆蓋開頭原有的內容 3 # f.close() 4 5 6 7 # f=open('test.txt','w') 8 # f.write('test') #w模式下使用write,會把文件內容清空然後在開頭寫入內容 9 # f.close() 10 11 # f=open('test.txt','w+') 12 # f.write('test1')#效果與上面一樣 13 # f.close() 14 15 # f=open('test.txt','a') 16 # f.write('Hillstone') #會在文件末尾追加 17 # f.close() 18 19 # f=open('test.txt') 20 # print(f.closed)#closed方法會返回一個布爾值,如果是打開狀態就是fales 21 # f.close() 22 # print(f.closed) 23 24 25 # with open('test.txt')as f: #with語句打開的文件將自動關閉 26 # print(f.read()) 27 # print(f.closed)View Code
異常
ZeroDivisionError異常1 try: 2 print(5/0) 3 except ZeroDivisionError: 4 print("You can't divide by zero") 5 6 You can't divide by zeroView Code
處理FileNotFoundError異常
1 filename='alice.txt' 2 with open(filename) as f_obj: 3 contents = f_obj.read() 4 Python無法讀取不存在的文件,因此它引發一個異常: 5 Traceback (most recent call last): 6 File "E:/untitled1/alice.py", line 2, in <module> 7 with open(filename) as f_obj: 8 FileNotFoundError: [Errno 2] No such file or directory: 'alice.txt' 9 10 filename='alice.txt' 11 try: 12 with open(filename) as f_obj: 13 contents = f_obj.read() 14 except FileNotFoundError: 15 msg="Sorry,the file "+filename+" does not exist." 16 print(msg)View Code
失敗時一聲不吭
1 filename='alice.txt' 2 try: 3 with open(filename) as f_obj: 4 contents = f_obj.read() 5 except FileNotFoundError: 6 pass#不提示錯誤消息 7 else: 8 # 計算文件大致包含多少個單詞 9 words= contents.split() 10 num_words=len(words) 11 print("The file "+filename+" has about "+str(num_words)+" words.")View Code