文件操作
我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、謝家集ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的謝家集網(wǎng)站制作公司
文件IO常用操作
open 打開操作
read 讀取操作
write 寫入操作
close 關(guān)閉操作
readline 行讀取操作
readlines 多行讀取操作
seek 文件指針操作
tell 指針位置
文件訪問有兩種模式,文本模式和二進(jìn)制模式,不同模式下,操作函數(shù)不盡相同,表現(xiàn)的結(jié)果也不一樣。文件操作做常用的就是讀和寫。
文件打開操作:
open (file ,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None) 作用:打開一個文件,返回一個文件對象流和文件描述符
file 打開或者要創(chuàng)建的文件名,如果不指定路徑,默認(rèn)是當(dāng)前路徑
mode模式:
r 缺省的,表示只讀打開 ,如果使用write方法,會拋出異常,如果文件不存在,拋出FileNotFountError異常
w 只寫打開,如果讀取則拋出異常,如果文件不存在,則直接創(chuàng)建文件,如果文件存在,則清空文件內(nèi)容
x 創(chuàng)建并寫入一個新文件,文件不存在,創(chuàng)建文件,并只寫方式打開,如果文件存在,則拋出FileExistsError異常
a 寫入打開,如果文件存在,則追加
b 二進(jìn)制模式
t 缺省的,文本模式
+ 讀寫打開一個文件。給原來只讀,只寫方式提過缺省的讀或著寫能力
文件指針
文件指針,指向當(dāng)前字節(jié)位置
mode = r ,指針起始在0 mode =a ,指針起始在EOF
tell()顯示指針當(dāng)前位置
seek(offset[,whence])移動文件指針位置,offest偏移多少字節(jié),whence從哪里開始。
文本模式下whence 0 缺省值,表示從頭開始,offest只能正整數(shù) 。whence 1 表示從當(dāng)前位置,offest只接受0 ,whence 2表示從EOF開始,offest只接受0
二進(jìn)制模式下whence 0 缺省值,表示從頭開始,offest只能正整數(shù)。 whence 1 表示從當(dāng)前位置,offest可正可負(fù) ,whence 2表示從EOF開始,offest可正可負(fù)
buffering 說明
buffering = -1 t和b,都是io.DEFAULT_BUFFER_SIZE
buffering = 0 b關(guān)閉緩沖區(qū) t不支持
buffering = 1 b就一個字節(jié) t行緩沖,遇到黃行符才flush
buffering > 1 b模式表示緩沖區(qū)大大小。緩存區(qū)的可以超過io.DEFAULT_BUFFER_SIZE,直到設(shè)定的值超出后才吧緩沖區(qū)flush
t模式,是io.DEFAULT_BUFFER_SIZE字節(jié),flush完后把當(dāng)前字符串也寫入磁盤
encoding:編碼,僅在文本模式使用 None表示使用缺省編碼,依賴操作系統(tǒng)
errors 什么樣的編碼錯誤將被捕獲None和strict表示有編碼錯誤將拋出ValueError異常,ignore表示忽略
newline 文本模式中,換行轉(zhuǎn)換,可以為None、‘空串’,‘\n’,'\r\n','\r'
closefd 關(guān)閉文件描述符,Ture表示關(guān)閉他,F(xiàn)alse會在文件關(guān)閉后保持這個描述符。
文件的讀、寫、關(guān)閉操作
read(size=-1) size表示讀取的字符或者字節(jié)。負(fù)數(shù)或者None表示讀到EOF
readline(size=-1) 一行行的讀取
readlines(dize=-1) 讀取指定的行數(shù)
write(s) 把字符串S寫入到文件中并返回字符的個數(shù)
writelines(s) 價格字符串列表寫入文件。
close
flush 關(guān)閉文件對象,再次關(guān)閉沒有任何效果
文件的上下文管理
上下文管理:
語法:
1:使用with....as關(guān)鍵字
2:上下文管理的語句塊并不會開啟新的作用域
3:with語句塊執(zhí)行完的時候,會自動關(guān)閉文件對象
with語句的寫法:
with open(路徑名) as f:
f.write(‘字符串’)
file = pen(路徑名)
with file:
f.write(‘字符串’)
文件的路徑操作之pathlib模塊
導(dǎo)入pathlib模塊
初始化:
P = Path
目錄操作
路徑的拼接和分解
操作符/
P /字符串 或者 字符串/P
分解
parts屬性可以返回路徑中的每一部分
joinpath
join path(*other)連接多個字符串到Path對象中
獲取路徑
str 獲取路徑字符串
bytes 獲取路徑字符串bytes
父目錄
parent目錄的邏輯父目錄
parents 父目錄序列,索引0是直接的父
目錄組成部分
name 目錄的最后一個部分
suffix 目錄中最后一個部分的擴(kuò)展名
stem 目錄最后一個部分,沒有后綴
suffixes 返回多個擴(kuò)展名列表
with_suffixes(suffix) 有擴(kuò)展名則替換,無則補(bǔ)充擴(kuò)展名
with_name(name)替換目錄最后一個部分并返回一個新的路徑
全局方法
cwd() 返回當(dāng)前工作目錄
home() 返回當(dāng)前家目錄
方法
is_dir() 是否是目錄,存在返回True
is_file() 是否是普通文件,文件存在返回Ture
is_symlink() 是否是軟連接
is_socket 是否是socket
is_block_device() 是否是塊設(shè)備
is_char_device() 是否是字符設(shè)備
id_absolute() 是否是絕對路徑
resolve() 返回一個新的路徑
absolute() 獲取絕對路徑
exists() 目錄或者文件是否存在
rmdir() 刪除空目錄,沒有提供判斷目錄為空的方法
touch(mode=0o666,exist_ok=Ture) 創(chuàng)建一個文件
as_uri()將路徑返回成URL,例如‘file:///etc/passwd’
mkdir(mode=0O777,parents=False,exist_ok=False)
parents,是否創(chuàng)建符目錄,True等同于mkdir-p;Flase時,父目錄不存在,則拋出FileNotFoundError
exist_ok參數(shù),在3.5版本加入。False時,路徑存在,拋出FileExistsError;Ture時,F(xiàn)ileExitsError被忽略
itemdir() 迭代當(dāng)前目錄
通配符:
glob(pattern)通配給定的模式
rglob(pattern)通配給定的模式,遞歸目錄
都返回一個生成器
配置
match(pattern)
模式匹配,成功返回Ture
stat()相當(dāng)于stat命令
lstat同stat(),但如果時符號鏈接,則顯示符號鏈接本身的文件信息
新聞標(biāo)題:Python中文件和路徑的操作總結(jié)
分享地址:http://bm7419.com/article2/pssiic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、微信小程序、企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計公司、網(wǎng)站維護(hù)、網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)