1. 程式人生 > >Python: IO操作(檔案操作)

Python: IO操作(檔案操作)

讀檔案

使用python內建的函式open()可以開啟一個檔案(類似C語言):

f = open('file.txt', 'r')
f.read()
f.close()

檔案讀寫時可能都會出錯,產生IoError,一旦出錯f.close()就不能用,所以我們可以使用try…finally

try:
    f = open('file.txt', 'r')
    f.read()
finally:
    if f:
        f.close()

with方法

with open('xxx.txt', 'r') as f:
    print(f.read
()) # 使用with語句不用呼叫close()

呼叫read()會一次性讀取檔案的全部內容,為了保險起見,可反覆呼叫read(size)方法,每次最多讀取size個位元組,另外,呼叫readline()可以每次讀取一行內容,呼叫readlines()一次性讀取所有內容並返回list

如果檔案很小,read()方法最方便;如果不能確定檔案的大小,可反覆呼叫read(size);如果是讀取配置檔案,那麼readlines()最方便

for line in f.readlines():
    print(line.spilt())     # 把末尾的'\n'刪掉

要讀取非UTF-8編碼的文字檔案,需要給open()函式傳入enconding引數,如:

f = open('gbk_file', 'r', enconding='gbk')
f.read()

遇到編碼不規範的的檔案,你可能遇到++UnicodeDecodeError++,因為在文字中可能夾雜了一些非法編碼的字元。遇到這種情況++open()++\函式還要傳入一個++errors++引數,表示遇到編碼錯誤後怎麼處理,最簡單的方法就是忽略

f = open('code_error', 'r', encoding='gbk', errors='ignore')

寫檔案

讀檔案和寫檔案是一樣的,唯一的區別就是open()行數所傳的識別符號,’w’或’wb’表示寫文字檔案或者二進位制檔案

f = open('test.txt', 'w')
f.write('Hello, python')
f.close()

你可以呼叫write()函式一直寫檔案,但必須使用f.close()函式關閉檔案。當我們寫檔案時,作業系統不會立刻把資料寫入磁碟,而是放到記憶體快取起來,空閒的時候再寫。忘記呼叫close()可能會使後面的資料丟失,所以還是用with比較保險

with open('test.txt', 'w') as f:
    f.write('hello, python')

要給檔案寫入指定編碼的資料,可以給write()函式傳入特定的encoding引數

總結:
  • 不管是讀檔案還是寫檔案,操作完成後都要呼叫close()來關閉檔案
  • 但是呼叫with… as就可以省去close()了
  • 可以指定讀取和寫入檔案編碼方式,就是在對用函式中加入encoding=’xxx’
  • 讀取編碼不規範的文字,可以忽略,在read()函式中加入errors=’ignore’

相關推薦

Python: IO操作(檔案操作)

讀檔案 使用python內建的函式open()可以開啟一個檔案(類似C語言): f = open('file.txt', 'r') f.read() f.close() 檔案讀寫

Python I/O 檔案操作Demo

import os # __file__ 表示當前檔案路徑 print(__file__) # os.getcwd() 表示當前的工作目錄 print(os.getcwd()) #桌面路徑 #1. 在當前檔案目錄下新建資料夾 pyTest,用__file__絕對路徑也可以 if not

python:模組(檔案操作

1.模組 1.1模組的概念 模組是python程式架構的一個核心概念 每一個以副檔名 py 結尾的python原始碼檔案都是一個模組 模組名 同樣也是一個識別符號,需要符合識別符號的命名規則 在模組中定義的全域性變數,函式,類都是提供給外界直接使用的工具 模組

python基礎四(檔案操作)

1.檔案操作的基本流程 1.1 檔案操作的基本流程 1 # 絕對路徑 2 # r"d:/葫蘆娃.txt 前面的r 為轉義. linux平臺和windows的分隔符不同 3 f = open(r"d:/葫蘆娃.txt",encoding="gbk") # 開啟檔案,得到檔案控制代碼 4 c

python基礎之檔案操作和簡單的類

檔案操作 #檔案刪除 import os path=".\\data\\" for s in os.listdir(path): filename=path+s print(filename) # os.remove("test.txt") #檔案開啟 f=open('test.

python 歷險記(三)— python 的常用檔案操作

目錄 前言 檔案 什麼是檔案? 如何在 python 中開啟檔案? python 檔案物件有哪些屬性? 如何讀檔案? read() readline() 如何寫檔案? 如何操作檔案和目錄?

python學習日記(檔案操作)

檔案操作概述 計算機系統分為:作業系統,計算機硬體,應用程式。 我們用python或其他語言編寫的應用程式若想要把資料永久儲存下來,必須要保存於硬碟中,這就涉及到應用程式要操作硬體,眾所周知,應用程式是無法直接操作硬體的,這就用到了作業系統。作業系統把複雜的硬體操作封裝成簡單的介面給使用者/應用程式使用,

python基礎之檔案操作基礎

  Python基礎之檔案操作   1、檔案的開啟方式 讀檔案的方式有四種:   r:只讀   rb:二進位制讀取   r+:讀寫,先讀在寫,在檔案游標處接著寫   r+b:二進位制讀取資料,英文讀取英文,中文轉為二進位制   # #檔案操作,開啟一個檔

python 3 之檔案操作

檔案操作 1.檔案處理的流程  1)開啟檔案,得到檔案控制代碼並賦值給一個變數 2)通過控制代碼對檔案進行操作 3)關閉檔案         能呼叫方法的一定是物件       

python當中的檔案操作

1.檔案操作  把一個檔案開啟  open 開啟 f = open ('檔案路徑',mode='模式',encoding='編碼格式') 開啟一個檔案操作的時候取到的是一個控制代碼 絕對路徑 從磁碟根目錄開始尋找 相對路徑 相對於當前程式所在的資料夾 ..

python基礎之檔案操作和函式

一、知識點 1.三元運算 a = 2 b = 3 val = 6 if a < b else 7 print(val) 2.檔案讀取 f = open(file='file.txt',mode='r',coding='utf-8') data = f.read() print(d

python 對csv檔案操作

# scrapy pipline class BazaarPipeline(object): def open_spider(self, spider): self.filename = open("digital.csv", "wb") # 建立一

python中關於檔案操作的總結

本來想對一個檔案重複執行某一個函式,但是隻有第一次執行函式時有結果,後面的幾次都沒有結果,最終發現是在函式外開啟檔案,第一次執行沒有問題,第二次執行時,檔案已經開啟,函式找不到該檔案了,或者是檔案沒有關閉,具體原因需要檢視python內部的執行機制。舉例如下: 定義一個函式,輸出文字檔案裡的

python中的檔案操作總結

目錄 檔案:資料的抽象和集合 檔案是儲存在輔助儲存器上的資料序列 檔案是資料儲存的一種形式 檔案展現形態:文字檔案和二進位制檔案 文字檔案 VS. 二進位制檔案 檔案檔案和二進位制檔案只是檔案的展示方式 本質上,所有檔案都是二進位制形式儲存 形式上,所有檔案採用兩種方式展示 文字檔案 由單一特定編

python 基礎 day03—檔案操作

對檔案操作流程: 1.開啟檔案,得到檔案控制代碼並賦值給一個變數 2.通過控制代碼對檔案進行操作 3.關閉檔案 建立一個名為lyrics的txt檔案在目錄下 f = open('lyrics',encoding="utf-8") #開啟檔案 first_line = f.readline()

Python練習_檔案操作_day8

1. 1.作業 1,有如下檔案,a1.txt,裡面的內容為: 老男孩是最好的學校, 全心全意為學生服務, 只為學生未來,不為牟利。 我說的都是真的。哈哈 分別完成以下的功能: a,將原檔案全部讀出來並列印。 b,在原檔案後面追加一行內容:信不信由你,反正我信了。 c,將原檔案

08-python基礎知識-檔案操作

檔案操作 目錄管理(os) 示例: import os # 執行命令 # 清屏 # os.system('cls') # 調出計算器 # os.system('calc') # 作業系統型別,nt表示windows,posix表示類unix # print(os.nam

【十二】python基礎之檔案操作

給要開啟的檔案物件指定一個名字,這樣可在完成操作之後迅速關閉檔案,防止一些無用的檔案物件佔用記憶體   1 2 3 4 5 file_object = open('thefile.txt') try: all_the_text = fil

Python基礎(檔案操作

檔案讀取: 1 #檔案讀取方式一 2 f=open("a.txt","r+",encoding="utf8") 3 data=f.read() 4 print(data) 5 f.close() 6 7 #檔案讀取方式二 8 with open("a.txt","r+",encodi

Python(44)_檔案操作

1  r+ 讀寫模式:先讀後寫 #-*-coding:utf-8-*- ''' 讀寫-先讀後寫 ''' f = open('log.txt',mode='r+',encoding='utf-8') print(f.read()) f.write('bowen123') f.close()