Python文件基本操作實用指南

文件的存儲方式

  • 在計算機中,文件是以 二進制的方式保存在磁盤上的

文本文件和二進制文件

  • 文本文件
    • 可以使用文本編輯軟件查看
    • 本質上還是二進制文件
  • 二進制文件
    • 保存的內容 不是給人直接閱讀的,而是提供給其她軟件使用的
    • 二進制文件不能使用 文件編輯軟件 查看

文件基本操作

操作文件的套路

在計算機 中要操作文件一共包含三個步驟:
1.打開文件

2.讀、寫文件

  • 讀 將文件內容讀入內容
  • 寫 將內存內容寫入文件

3.關閉文件

操作文件的函數/方法

序號 函數/方法 說明
1 open 打開文件,並且返回文件操作對象
2 read 將文件內容讀取到內存
3 write 將指定內容寫入文件
4 close 關閉文件
  • open 函數負責打開文件,並且返回文件對象
  • read /write / close 三個方法都需要通過文件對象 來調用

read方法——讀取文件

  • open 函數的第一個參數是要打開的文件名(文件名區分大小寫)
    • 如果文件存在,返回 文件操作對象
    • 如果文件不存在,會拋出異常
  • read 方法可以一次性 讀入 並 返回文件的所有內容
  • close 方法負責關閉文件
    • 如果忘記關閉文件,會造成系統資源消耗,而且會影響到後續對文件的訪問
  • 註意:方法執行後,會把文件指針 移動到 文件的末尾

在這裡插入圖片描述

示例:

# 1.打開文件
file = open("read.txt")

# 2. 讀取文件內容
text = file.read()
print(text)

# 3.關閉文件
file.close()

註:

  • 在開發中,通常會先編寫 打開 和 關閉 的代碼,再編寫中間針對文件的 讀 / 寫 操作。

文件指針

  • 文件指針 標記 從哪個位置開始讀取數據
  • 第一次打開 文件時,通常文件指針會指向文件的開始位置
  • 當執行瞭 read 方法後,文件指針 會移動到 讀取內容的末尾
    • 默認情況下會移動到 文件末尾

在這裡插入圖片描述

註意:如果執行瞭一次 read 方法,讀取瞭所有內容,那麼再次調用 read 方法,是不能讀取到任何的內容,因為第一次讀取之後,文件指針移動到瞭文件末尾,再次調用不會讀取到任何的內容。

打開文件的方式

  • open 函數默認以 隻讀方式 打開文件,並且返回文件對象

語法如下:

f = open("文件名", "訪問方式")
訪問方式 說明
r 以隻讀方式打開文件。文件的指針將會放在文件的開頭,這是默認模式。如果文件不存在,拋出異常
w 以隻寫方式打開文件。如果文件存在會被覆蓋。如果文件不存在,創建新文件
a 以追加方式打開文件。如果該文件已存在,文件指針將會放在文件的末尾。如果文件不存在,創建新文件進行寫入
r+ 以讀寫方式打開文件。文件的指針將會放在文件的開頭。如果文件不存在,拋出異常
w+ 以讀寫方式打開文件。如果文件存在會被覆蓋。如果文件不存在,創建新文件
a+ 以讀寫方式打開文件。如果該文件已存在,文件指針將會放在文件的結尾。如果文件不存在,創建新文件進行寫入

示例:

以隻寫方式打開文件:

# 1.打開文件
file = open("read.txt", "w") # 以隻寫方式打開文件。如果文件存在會被覆蓋。如果文件不存在,創建新文件

# 2. 寫入文件
file.write("vvcat")

# 3.關閉文件
file.close()

以追加方式打開文件:

# 1.打開文件
file = open("read.txt", "a") # 以追加方式打開文件。如果該文件已存在,文件指針將會放在文件的末尾。如果文件不存在,創建新文件進行寫入

# 2. 寫入文件
file.write("vvcat")

# 3.關閉文件
file.close()

註:

頻繁的移動文件指針,會影響文件的讀寫效率。

按行讀取文件內容

  • read 方法默認會把文件的 所有內容一次性讀取到內存
  • 如果文件太大,對內存的占用會非常嚴重

readline 方法

  • readline 方法可以一次讀取一行內容
  • 方法執行後,會把文件指針移動到下一行,準備再次讀取

示例:

# 打開文件
file = open("read.txt")

while True:
    # 讀取一行內容
    text = file.readline()

    # 判斷是否讀到內容
    if not text:
        break

    # 每讀取一行的末尾已經有瞭一個 '\n'
    print(text, end="")

# 關閉文件
file.close()

在這裡插入圖片描述

復制文件

小文件復制

打開一個已有文件,讀取完整內容,並寫入到另外一個文件

# 1.打開文件
file_read = open("read.txt")
file_write = open("read[復件].txt", "w")

# 2. 讀、寫
text = file_read.read() # 讀取文件的內容
file_write.write(text) # 把讀取的內容寫到新的文件中

# 3.關閉文件
file_read.close()
file_write.close()

在這裡插入圖片描述

大文件復制

打開一個已有文件,逐行讀取內容,並順序寫入到另一個文件中

# 1.打開文件
file_read = open("read.txt")
file_write = open("read[復件].txt", "w")

# 2. 讀、寫
while True:
    # 讀取一行內容
    text = file_read.readline()

    # 判斷是否讀取到內容
    if not text:
        break

    file_write.write(text)

# 3.關閉文件
file_read.close()
file_write.close()

在這裡插入圖片描述

文件/目錄的常用管理操作

在 Python 中,需要執行常規的 文件 / 目錄 管理操作:創建、重命名、刪除、改變路徑、查看目錄內容… 需要導入 os 模塊

文件操作

序號 方法名 說明 示例
1 rename 重命名文件 os.rename(源文件名, 目標文件名)
2 remove 刪除文件 os.remove(文件名)

目錄操作

序號 方法名 說明 示例
1 listdir 目錄列表 os.listdir(目錄名)
2 mkdir 創建目錄 os.mkdir(目錄名)
3 rmdir 刪除目錄 os.rmdir(目錄名)
4 getcwd 獲取當前目錄 os.getcwd()
5 chdir 修改工作目錄 os.chdir(目標目錄)
6 path.isdir 判斷是否是目錄 os.path.isdir(文件路徑)

註:文件或者目錄操作都支持 相對路徑 和 絕對路徑

重命名文件

在這裡插入圖片描述

執行程序代碼後:

在這裡插入圖片描述

刪除文件:

在這裡插入圖片描述

執行代碼後:

在這裡插入圖片描述

目錄列表

在這裡插入圖片描述

在這裡插入圖片描述

執行代碼後:

在這裡插入圖片描述

判斷是否是目錄

在這裡插入圖片描述

在這裡插入圖片描述

執行代碼後:

在這裡插入圖片描述

創建目錄

在這裡插入圖片描述

執行代碼後:

在這裡插入圖片描述

刪除目錄

在這裡插入圖片描述

執行代碼後:

在這裡插入圖片描述

獲取當前目錄

在這裡插入圖片描述

執行代碼後:

在這裡插入圖片描述

總結

到此這篇關於Python文件基本操作的文章就介紹到這瞭,更多相關Python文件操作內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: