python 檔案讀寫操作和OS模組總結

2021-09-26 02:59:09 字數 3287 閱讀 5094

在python中,操作檔案的步驟為:開啟檔案open()->讀寫檔案read()或write()->關閉檔案close(),開啟檔案通過函式來實現。

##open()函式

open(file,mode,encoding)
開啟方式解釋r

唯讀 為輸入開啟乙個文字檔案(檔案必須存在)

w只寫 為輸出開啟乙個文字檔案(如沒有檔案,則新建)

a追加 向文字檔案尾新增資料(如沒有檔案,則新建)

rb唯讀 為輸入開啟乙個二進位制檔案

wb只寫 為輸出開啟乙個二進位制檔案

ab追加 向二進位制檔案尾新增資料

r+讀寫 為讀寫開啟乙個文字檔案(檔案必須已經存在)

w+讀寫 為讀寫建立乙個新的文字檔案

a+讀寫 為讀寫開啟乙個文字檔案(讀寫指標定位在最後)

rb+讀寫 為讀寫開啟乙個二進位制檔案

wb+讀寫 為讀寫建立乙個新的二進位制檔案

ab+讀寫 為讀寫開啟乙個二進位制檔案讀寫檔案的基本語法

#開啟檔案

file = open('路徑','開啟方式')

#讀取檔案

content = file.read()

#寫入檔案

file.write('寫入的內容')

#關閉檔案

file.close()

#示例:

#寫入file1 = open('abc.txt','w',encoding = 'utf-8')

file1.write('我愛python')

file1.close()

#讀取file2 = open('abc.txt','r',encoding = 'utf-8')

content = file2.read()

file2.close()

print(content)

with open ('路徑','開啟方式') as file:

# 讀取檔案

content = file.read()

# 寫入內容

file.write('寫入內容')

# 縮排,無需close()函式

#示例:

with open('abc.txt','w',encoding = 'utf-8') as file1:

file1.write('我愛python')

with open('abc.txt','r',encoding = 'utf-8') as file2:

content = file2.read()

print(content)

print(content)

writelines()語句』按行重寫』,可以寫入序列,返回乙個字串

readlines()語句』按行讀取』,返回乙個列表,每一行為列表中的元素

a = ('人生', '如', '夢')

b = '人生苦短'

with open('demo.txt', 'w', encoding='utf-8')as f:

f.writelines(a)

f.write('\n' + b) # 換行寫入

with open('demo.txt', 'r', encoding='utf-8') as f:

lines = f.readlines()

print(lines)

for line in lines: # 用for語句來遍歷

print(line)

#輸出結果:

#['人生如夢\n', '人生苦短']

#人生如夢

#人生苦短

常用方法列表

操作說明

os.getcwd()得到當前工作目錄,即當前python指令碼工作的目錄路徑

os.listdir()返回指定目錄下的所有檔案和目錄名

os.remove()函式用來刪除乙個檔案

os.removedirs(r"c\python")刪除多個目錄

os.path.isfile()檢驗給出的路徑是否是乙個檔案

os.path.isdir()檢驗給出的路徑是否是乙個目錄

os.path.isabs()判斷是否是絕對路徑

os.path.exists()檢驗給出的路徑是否真地存

os.path.split()返回乙個路徑的目錄名和檔名

os.path.splitext()分離副檔名

os.path.dirname()獲取路徑名

os.path.basename()獲取檔名

os.system()執行shell命令

os.getenv() 與os.putenv()讀取和設定環境變數

os.linesep 給出當前平台使用的行終止符,windows使用』rn』,linux使用』n』而mac使用』r』

os.name指示你正在使用的平台,對於windows,它是』nt』,而對於linux/unix使用者,它是』posix』

os.rename(old, new)重新命名:

os.makedirs(r"c:\python\test")建立多級目錄

os.mkdir(「test」)建立單個目錄

os.stat(file)獲取檔案屬性

os.chmod(file)修改檔案許可權與時間戳

os.exit()終止當前程序

os.path.getsize(filename)獲取檔案大小

os.mkdir(「file」)建立目錄

shutil.copyfile(「oldfile」,「newfile」)複製檔案, oldfile和newfile都只能是檔案

shutil.copy(「oldfile」,「newfile」)oldfile只能是資料夾,newfile可以是檔案,也可以是目標目錄

shutil.copytree(「olddir」,「newdir」)複製資料夾,olddir和newdir都只能是目錄,且newdir必須不存在

os.rename(「oldname」,「newname」)重新命名檔案(目錄),檔案或目錄都是使用這條命令

shutil.move(「oldpos」,「newpos」)移動檔案(目錄)

os.remove(「file」)刪除檔案

os.rmdir(「dir」)刪除目錄, 只能刪除空目錄

shutil.rmtree(「dir」)空目錄、有內容的目錄都可以刪

os.chdir(「path」)轉換目錄, 換路徑

os.mknod(「test.txt」)建立空檔案

python筆記之檔案的基本操作和os模組

語法 open 檔案路徑,訪問模式,encoding 編碼格式 檔案路徑 1.指定路徑 c path file.txt r c path file.txt windows下用 來分隔路徑 unix下用 分隔路徑 2.不指定路徑 file.txt,會在程式執行的目錄下建立 可以使用os模組改變路徑 編...

Python 檔案操作 和 目錄操作

我們知道,檔名 目錄名和鏈結名都是用乙個字串作為其識別符號的,但是給我們乙個識別符號,我們該如何確定它所指的到底是常規檔案檔名 目錄名還是鏈結名呢?這時,我們可以使用os.path模組提供的isfile函式 isdir函式和islink函式來達成我們的目標,如下所示 print myfile,是乙個...

python檔案操作和異常

python檔案的操作和異常 toc 這兩個月複習考研的同時,在github上斷斷續續的跟著駱先生 jackfrued 在我關注裡有 學習了一段時間的python,由於是自學所以經常會遇到一些容易卡死的問題,這篇文章我就簡單的分享一下在檔案及檔案異常我遇到的問題。函式語法 open file uni...