Python文件操作利器的十大庫(kù)使用實(shí)例
os 模塊
os 模塊提供了豐富的接口,用于與操作系統(tǒng)交互,包括文件和目錄的創(chuàng)建、修改和刪除等功能。
列出目錄中的文件
import os
# 列出目錄中的文件
files = os.listdir('/path/to/directory')
print("Directory Files:", files)
創(chuàng)建文件夾
import os
# 創(chuàng)建新文件夾
os.mkdir('/path/to/new/directory')
刪除文件
import os
# 刪除文件
os.remove('/path/to/file')
刪除文件夾
import os
# 刪除文件夾(必須為空文件夾)
os.rmdir('/path/to/directory')
os 模塊提供了許多其他方法,如重命名文件、獲取文件屬性、改變工作目錄等,這些方法能夠?qū)ξ募到y(tǒng)進(jìn)行廣泛的操作。
pathlib 模塊
pathlib 模塊提供了更面向?qū)ο蟮姆绞絹?lái)操作文件系統(tǒng),使路徑的操作更加直觀和簡(jiǎn)單。
使用路徑操作
from pathlib import Path
# 創(chuàng)建路徑
path = Path("/path/to/directory")
# 檢查路徑是否存在
if path.exists():
print("Path exists")
# 列出目錄中的文件
for file in path.iterdir():
print(file)
# 創(chuàng)建新文件
new_file = path / "new_file.txt"
new_file.write_text("Hello, this is a new file.")
# 讀取文件內(nèi)容
content = new_file.read_text()
print("File Content:", content)
pathlib 模塊使得路徑的創(chuàng)建、檢查、操作等操作更加直觀和簡(jiǎn)便,同時(shí)提供了許多方法來(lái)進(jìn)行路徑和文件的操作。
shutil 模塊
shutil 模塊提供了對(duì)文件和目錄進(jìn)行高級(jí)操作的工具,包括復(fù)制、移動(dòng)、刪除文件以及遞歸操作文件夾等功能。
復(fù)制文件
import shutil
# 復(fù)制文件
shutil.copy('/path/to/source/file', '/path/to/destination/file')
移動(dòng)文件
import shutil
# 移動(dòng)文件
shutil.move('/path/to/source/file', '/path/to/destination/file')
遞歸刪除目錄
import shutil
# 遞歸刪除目錄及其內(nèi)容
shutil.rmtree('/path/to/directory')
shutil 模塊提供了眾多文件和目錄操作的高級(jí)功能,使得文件的操作更為簡(jiǎn)單和便捷。
glob 模塊
glob 模塊用于查找文件路徑名匹配指定模式的所有路徑名,這些模式可以包含通配符。
查找匹配的文件
import glob
# 查找所有txt文件
txt_files = glob.glob('/path/to/directory/*.txt')
print("TXT Files:", txt_files)
使用通配符
import glob
# 查找所有包含"file"的文件
matched_files = glob.glob('/path/to/directory/*file*')
print("Matched Files:", matched_files)
glob 模塊允許你使用通配符來(lái)匹配文件路徑,從而更便捷地找到需要操作的文件。
io 模塊
io 模塊提供了對(duì)流式數(shù)據(jù)的操作接口,用于讀取和寫(xiě)入文件流。
讀取文件
import io
# 讀取文件
with io.open('/path/to/file.txt', 'r') as file:
content = file.read()
print("File Content:", content)
寫(xiě)入文件
import io
# 寫(xiě)入文件
with io.open('/path/to/new_file.txt', 'w') as file:
file.write("Hello, this is a new file.")
io 模塊提供了諸多方法,能夠方便地進(jìn)行文件讀寫(xiě)操作,使得文件操作更為靈活。
zipfile 模塊
zipfile 模塊提供了處理ZIP文件的功能,可以創(chuàng)建、讀取和解壓縮ZIP文件。
創(chuàng)建ZIP文件
import zipfile
# 創(chuàng)建ZIP文件
with zipfile.ZipFile('new_zip.zip', 'w') as new_zip:
new_zip.write('file.txt')
讀取ZIP文件內(nèi)容
import zipfile
# 讀取ZIP文件內(nèi)容
with zipfile.ZipFile('example.zip', 'r') as example_zip:
files_in_zip = example_zip.namelist()
print("Files in ZIP:", files_in_zip)
解壓縮ZIP文件
import zipfile
# 解壓ZIP文件
with zipfile.ZipFile('example.zip', 'r') as example_zip:
example_zip.extractall('extracted_files')
zipfile 模塊提供了對(duì)ZIP文件的創(chuàng)建、讀取和解壓縮的功能,能夠輕松處理ZIP文件,使得文件壓縮和解壓更加方便。
tarfile 模塊
tarfile 模塊提供了對(duì)tar文件的創(chuàng)建、讀取和解壓縮的功能。
創(chuàng)建tar文件
import tarfile
# 創(chuàng)建tar文件
with tarfile.open('new_tar.tar', 'w') as new_tar:
new_tar.add('file.txt')
讀取tar文件內(nèi)容
import tarfile
# 讀取tar文件內(nèi)容
with tarfile.open('example.tar', 'r') as example_tar:
files_in_tar = example_tar.getnames()
print("Files in TAR:", files_in_tar)
解壓縮tar文件
import tarfile
# 解壓tar文件
with tarfile.open('example.tar', 'r') as example_tar:
example_tar.extractall('extracted_files')
tarfile 模塊提供了對(duì)tar文件的創(chuàng)建、讀取和解壓縮的功能,可以輕松處理tar文件,使得文件的打包和解包更加方便。
csv 模塊
csv 模塊專門(mén)用于處理逗號(hào)分隔值(CSV)文件,提供了讀取、寫(xiě)入和處理CSV數(shù)據(jù)的功能。
讀取CSV文件
import csv
# 讀取CSV文件
with open('data.csv', 'r') as file:
csv_reader = csv.reader(file)
for row in csv_reader:
print(row)
寫(xiě)入CSV文件
import csv
# 寫(xiě)入CSV文件
data = [
['Name', 'Age'],
['Alice', 25],
['Bob', 30]
]
with open('new_data.csv', 'w', newline='') as file:
csv_writer = csv.writer(file)
csv_writer.writerows(data)
csv 模塊提供了簡(jiǎn)單而高效的方法來(lái)讀寫(xiě)CSV文件,并且能夠輕松地處理CSV格式的數(shù)據(jù)。
json 模塊
json 模塊用于解析JSON數(shù)據(jù),提供了讀取、解析和創(chuàng)建JSON文件的功能。
讀取JSON文件
import json
# 讀取JSON文件
with open('data.json', 'r') as file:
data = json.load(file)
print(data)
解析JSON數(shù)據(jù)
import json
# 解析JSON數(shù)據(jù)
json_string = '{"name": "Alice", "age": 30}'
data = json.loads(json_string)
print(data)
創(chuàng)建JSON文件
import json
# 創(chuàng)建JSON文件
data = {
"name": "Alice",
"age": 30
}
with open('new_data.json', 'w') as file:
json.dump(data, file)json 模塊提供了方便的方法來(lái)讀寫(xiě)JSON格式的數(shù)據(jù),能夠輕松處理JSON格式的文件和數(shù)據(jù)。
pickle 模塊
pickle 模塊用于序列化和反序列化Python對(duì)象,使其能夠在文件中存儲(chǔ)和恢復(fù)。
對(duì)象序列化保存到文件
import pickle
# 對(duì)象序列化保存到文件
data = {
"name": "Alice",
"age": 30
}
with open('data.pkl', 'wb') as file:
pickle.dump(data, file)從文件中加載對(duì)象并反序列化
import pickle
# 從文件中加載對(duì)象并反序列化
with open('data.pkl', 'rb') as file:
loaded_data = pickle.load(file)
print(loaded_data)
pickle 模塊提供了在Python對(duì)象和文件之間進(jìn)行序列化和反序列化的功能,使得對(duì)象的存儲(chǔ)和讀取更加便捷。
總結(jié)
Python擁有豐富的文件操作庫(kù),為開(kāi)發(fā)者提供了多樣化、便捷的方式來(lái)管理、讀取和寫(xiě)入文件。從基本的文件系統(tǒng)交互到處理特定文件格式,這些庫(kù)覆蓋了許多文件操作的方方面面。os模塊提供了與操作系統(tǒng)交互的功能,而pathlib模塊則更加面向?qū)ο蟆?code>shutil模塊提供高級(jí)的文件和目錄操作功能,使得復(fù)制、移動(dòng)和刪除文件變得更為簡(jiǎn)單。glob模塊允許使用通配符查找匹配的文件名。io模塊提供了對(duì)流式數(shù)據(jù)的操作接口,用于讀寫(xiě)文件流。進(jìn)一步,zipfile和tarfile模塊處理ZIP和tar文件的創(chuàng)建、讀取和解壓。處理CSV數(shù)據(jù)則依賴于csv模塊,而json模塊負(fù)責(zé)解析JSON數(shù)據(jù)。最后,pickle模塊允許序列化和反序列化Python對(duì)象,方便對(duì)象在文件中的存儲(chǔ)和加載。
這些庫(kù)不僅提供了對(duì)文件系統(tǒng)的廣泛操作,還使得特定文件格式的處理更加便捷,如壓縮文件、結(jié)構(gòu)化數(shù)據(jù)文件以及序列化對(duì)象。了解這些庫(kù)的功能和用法,能夠幫助開(kāi)發(fā)者更加高效地進(jìn)行文件操作,同時(shí)也提供了處理不同類型文件需求的解決方案。最佳實(shí)踐是根據(jù)具體任務(wù)需求選擇適當(dāng)?shù)膸?kù)和方法,以獲得最佳的文件操作體驗(yàn)。
以上就是Python文件操作利器的十大庫(kù)使用實(shí)例的詳細(xì)內(nèi)容,更多關(guān)于Python文件操作庫(kù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python使用tkinter庫(kù)實(shí)現(xiàn)文本顯示用戶輸入功能示例
這篇文章主要介紹了Python使用tkinter庫(kù)實(shí)現(xiàn)文本顯示用戶輸入功能,結(jié)合實(shí)例形式分析了tkinter庫(kù)獲取用戶輸入及控件顯示相關(guān)操作技巧,需要的朋友可以參考下2018-05-05
tensorflow官方github預(yù)訓(xùn)練模型下載方式
這篇文章主要介紹了tensorflow官方github預(yù)訓(xùn)練模型下載方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
Python中實(shí)現(xiàn)文本預(yù)處理的方法小結(jié)
文本數(shù)據(jù)是數(shù)據(jù)科學(xué)和自然語(yǔ)言處理領(lǐng)域的關(guān)鍵組成部分,本文將深入探討Python中文本預(yù)處理的關(guān)鍵步驟,并提供豐富的示例代碼,希望對(duì)大家有所幫助2023-12-12
Python?flask?框架使用flask-login?模塊的詳細(xì)過(guò)程
Flask-Login?是一個(gè)?Flask?模塊,可以為?Flask?應(yīng)用程序提供用戶登錄功能,這篇文章主要介紹了Python?flask?框架使用?flask-login?模塊,需要的朋友可以參考下2023-01-01
Python多線程編程(二):?jiǎn)?dòng)線程的兩種方法
這篇文章主要介紹了Python多線程編程(一):?jiǎn)?dòng)線程的兩種方法,本文講解了將函數(shù)傳遞進(jìn)Thread對(duì)象、繼承自threading.Thread類兩種方法,需要的朋友可以參考下2015-04-04
python3 圖片 4通道轉(zhuǎn)成3通道 1通道轉(zhuǎn)成3通道 圖片壓縮實(shí)例
今天小編就為大家分享一篇python3 圖片 4通道轉(zhuǎn)成3通道 1通道轉(zhuǎn)成3通道 圖片壓縮實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12
Matplotlib繪圖基礎(chǔ)之文本標(biāo)注詳解
Matplotlib?文本和標(biāo)注可以為數(shù)據(jù)和圖形之間提供額外的信息,幫助觀察者更好地理解數(shù)據(jù)和圖形的含義,下面就將通過(guò)示例依次介紹文本和標(biāo)注的常用使用方式2023-08-08
Python?OpenCV實(shí)現(xiàn)簡(jiǎn)單的顏色識(shí)別功能(對(duì)紅色和藍(lán)色識(shí)別并輸出)
Python?OpenCV可以用來(lái)進(jìn)行顏色識(shí)別,可以通過(guò)讀取圖像的像素值,來(lái)判斷像素點(diǎn)的顏色,從而實(shí)現(xiàn)顏色識(shí)別,這篇文章主要給大家介紹了關(guān)于Python?OpenCV實(shí)現(xiàn)簡(jiǎn)單的顏色識(shí)別功能(對(duì)紅色和藍(lán)色識(shí)別并輸出)的相關(guān)資料,需要的朋友可以參考下2023-12-12
python 實(shí)現(xiàn)將txt文件多行合并為一行并將中間的空格去掉方法
今天小編就為大家分享一篇python 實(shí)現(xiàn)將txt文件多行合并為一行并將中間的空格去掉方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12

