python open方法下file模块_python 文件操作
一、基本概述
基本的文件操作也就常見的幾種,創(chuàng)建、打開、讀取、寫入和關(guān)閉文件等。Python中有幾個(gè)內(nèi)置模塊和方法來處理文件。這些方法在例如os,os.path,shutil和pathlib等等幾個(gè)模塊中。
二、常用方法
1.open/close方法
1)常見形式
open(file, mode = ‘r’)
2)基本功能
以特定模式打開一個(gè)文件
3)參數(shù)說明file:文件路徑
mode:文件的打開模式,可設(shè)置的模式如下模式描述
t文本模式,默認(rèn)的打開模式
b二進(jìn)制模式
r以只讀方式打開文件,文件指針會(huì)指向文件開頭
w打開一個(gè)文件用于寫入,文件不存在就會(huì)創(chuàng)建一個(gè)文件,文件已存在則會(huì)刪除文件原有內(nèi)容重新寫入
a打開一個(gè)文件用于追加內(nèi)容,文件不存在則重新創(chuàng)建文件
x寫模式,新建一個(gè)文件,如果該文件已存在則會(huì)報(bào)錯(cuò)
rb以二進(jìn)制模式,只讀方式打開一個(gè)文件,文件指針會(huì)指向文件開頭
wb以二進(jìn)制模式打開一個(gè)文件只用于寫入,文件不存在就會(huì)創(chuàng)建一個(gè)文件,文件已存在則會(huì)刪除文件原有內(nèi)容重新寫入
ab以二進(jìn)制模式打開一個(gè)文件用于追加內(nèi)容,文件不存在則重新創(chuàng)建文件
r+打開文件用于讀寫,文件指針會(huì)指向文件開頭
w+打開一個(gè)文件用于讀寫,文件不存在就會(huì)創(chuàng)建一個(gè)文件,文件已存在則會(huì)刪除文件原有內(nèi)容重新寫入
a+打開一個(gè)文件用于讀寫,文件不存在則重新創(chuàng)建文件,文件已存在文件指針則指向文件末尾
rb+以二進(jìn)制模式打開一個(gè)文件用于讀寫,文件指針會(huì)指向文件開頭
wb+以二進(jìn)制模式打開一個(gè)文件用于讀寫,文件不存在就會(huì)創(chuàng)建一個(gè)文件,文件已存在則會(huì)刪除文件原有內(nèi)容重新寫入
ab+以二進(jìn)制模式打開一個(gè)文件用于讀寫,文件不存在則重新創(chuàng)建文件
4)返回值
返回一個(gè)文件對(duì)象
5)舉例說明
#方式一
f = open('test1.txt', mode = 'r')
print(f)
f.close()
#方式二
with open('test1.txt', mode = 'r') as f:
print(f)
輸出:
2.read方法
file對(duì)象使用open方法創(chuàng)建
1)常見形式
file.read([size])
2)基本功能
從打開的文件中讀取指定size字節(jié)的內(nèi)容,size不指定則默認(rèn)讀取文件所有內(nèi)容
3)返回值
返回讀取到的字節(jié)數(shù),文件內(nèi)容為空時(shí)返回就為空字符
4)舉例說明
創(chuàng)建一個(gè)文本文件text2.txt,向其中寫入’hello python’,編寫如下腳本:
with open('test2.txt', mode = 'r') as f:
print(f.read(5))
with open('test2.txt', mode = 'r') as f:
print(f.read())
輸出:
hello
hello python
3.write方法
?1)基本形式
file.write(str)
2)基本功能
向打開的文件中寫入指定的字符串
3)返回值
返回寫入的字符串長(zhǎng)度
4)舉例說明
創(chuàng)建一個(gè)文本文件text3.txt,編寫如下腳本:
with open('test3.txt', mode = 'w') as f:
print(f.write('hello'))
with open('test3.txt', mode = 'r') as f:
print(f.read())
輸出:
5
hello
三、其他方法
file對(duì)象使用open方法創(chuàng)建方法描述
file.fileno()返回一個(gè)整型的文件描述符,可以用在如os模塊的read方法等一些底層操作上
file.readline([size])讀取整行,包括換行符,size指定讀取的整行最大size字節(jié)數(shù)
file.readlines([size])讀取文件所有行并以列表形式返回,size指定讀取的所有行最大size字節(jié)數(shù),實(shí)際讀取值可能比 sizeint 較大, 因?yàn)樾枰畛渚彌_區(qū)
file.writelines(seq)向打開的文件寫入一序列字符串。這一序列字符串可以是由迭代對(duì)象產(chǎn)生,如一個(gè)字符串列表
file.tell()返回文件指針當(dāng)前所在位置
file.seek(offset[, when])移動(dòng)文件指針到指定位置,offset表示偏移量,whence表示從何處偏移,0表示從文件頭,1表示當(dāng)前位置,2表示從文件尾
file.flush()刷新文件內(nèi)部緩沖,直接把內(nèi)部緩沖區(qū)的數(shù)據(jù)立刻寫入文件,而不是被動(dòng)的等待輸出緩沖區(qū)寫入
file.truncate(size)從文件開頭開始截?cái)?#xff0c;截?cái)辔募閟ize個(gè)字符,無size 表示從當(dāng)前位置截?cái)?。截?cái)嘀蟮暮竺嫠凶址麜?huì)被刪除,其中windows系統(tǒng)下的換行代表2個(gè)字符大小
os模塊:os.mkdir():創(chuàng)建目錄
os.rmdir(path):刪除空目錄
os.rename(src, dst):重命名文件或目錄,從src到dst
os.getcwd():獲取當(dāng)前所在路徑
os.chdir(path):切換提供的對(duì)應(yīng)路徑下
os.listdir(path):返回提供的路徑下面所有的文件列表,包括目錄
os.path.join():返回多個(gè)文件名組成的文件路徑
os.path.abspath():返回提供的路徑對(duì)應(yīng)的絕對(duì)路徑
os.path.isabs():判斷提供的路徑是否是絕對(duì)路徑
os.path.relpath(path, start):返回從start到path的相對(duì)路徑
os.path.dirname(path):返回路徑中最后一個(gè)文件名字前面的部分
os.path.basename(path):返回路徑中最后一個(gè)文件名字
os.path.split(path):以列表形式返回一個(gè)路徑中的dirname和basename部分
os.path.exists(path):判斷提供的路徑是否存在
os.path.isfile(path):判斷提供的路徑是否是文件路徑
os.path.isdir(path):判斷提供的路徑是否是目錄路徑
總結(jié)
以上是生活随笔為你收集整理的python open方法下file模块_python 文件操作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 无响应_系统加固之Linux
- 下一篇: python中dataframe导出文件