Python檔案的操作示例的詳細講解

2022-09-25 22:27:13 字數 3184 閱讀 2324

檔案的讀寫稱為i/o操作。

操作原理:

.py檔案是用直譯器去執行,呼叫os作業系統的資源,去操作磁碟上的檔案。

操作流程: 在去操作乙個檔案的檔案的時候,首先開啟或者建立乙個檔案,進行讀或者寫。

讀: 從檔案拿到記憶體當中來

寫:把記憶體的檔案放入檔案中

最後進行關閉資源。

內建函式: open() 可以建立或者開啟乙個檔案

語法規則:

file=openwww.cppcns.com(filename [mode,encoding]

開啟模式預設為唯讀

預設文字中的字元編碼格式為gbk

# 作者:網際網路老辛

# 開發時間:2021/4/5/0005 8:23

file=open('a.txt',encoding='utf-8')

print(file.readlines())

file.close()

readlines這樣會把讀取的資料寫入乙個列表中。

檔案操作:

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

fp = open(「test.txt」,w) 直接開啟乙個檔案,如果檔案不存在則建立檔案

關於open 模式:

引數含義

r以唯讀的模式開啟檔案,檔案的指標會放到檔案的開頭

w以寫方式開啟,

a以追加模式開啟 (從 eof 開始, 必要時建立新檔案)

b以二進位制方式開啟檔案,不能單獨使用,需要和其他模式共用,比如rb

r+以讀寫模式開啟

w+以讀寫模式開啟 (參見 w )

a+以讀寫模式開啟 (參見 a )

rb以二進位制讀模式開啟

wb以二進位制寫模式開啟 (參見 w )

ab以二進位制追加模式開啟 (參見 a )

rb+以二進位制讀寫模式開啟 (參見 r+ )

wb+以二進位制讀寫模式開啟 (參見 w+ )

ab+以二進位制讀寫模式開啟 (參見 a+ )

案例1:

# 作者:網際網路老辛

# 開發時間:2021/4/5/0005 8:23

file=open('b.txt','w')

file.write("python")

file.close()

這樣會新建乙個b.txt,如果原來就已經有了,就替換。

二進位制檔案: 把資料用位元組的方式進行儲存,無法用記事本開啟。比如***.

方法含義

fp.read([size])

#size為讀取的長度,以byte為單位

fp.readline([size])

#讀一行,如果定義了size,有可能返回的只是一行的一部分

fp.readlines([size])

#把檔案每一行作為乙個list的乙個成員,並返回這個list。其實它的內部是通過迴圈呼叫readline()來實現的。如果提供size引數,size是表示讀取內容的總長,也就是說可能唯讀到檔案的一部分。

tjdftlfux fp.write(str)

#把str寫到檔案中,write()並不會在str後加上乙個換行符

fp.writelines(seq)

#把seq的內容全部寫到檔案中(多行一次性寫入)。這個函式也只是忠實地寫入,不會在每行後面加上任何東西。

fp.close()

#關閉檔案。python會在乙個檔案不用後自動關閉檔案,不過這一功能沒***,最好還是養成自己關閉的習慣。 如果乙個檔案在關閉後還對其進行操作會產生valueerror

fp.flush()

#把緩衝區的內容寫入硬碟

fp.fileno()

#返回乙個長整型的」檔案標籤「

fp.isatty()

#檔案是否是乙個終端裝置檔案(unix系統中的)

fp.tell()

#返回檔案操作標記的當前位置,以檔案的開頭為原點

fp.next()

#返回下一行,並將檔案操作標記位移到下一行。把乙個file用於for … in file這樣的語句時,就是呼叫next()函式來實現遍歷的。

fp.seek(offset[,whence])

#將檔案打操作標記移到offset的位置。這個offset一般是相對於檔案的開頭來計算的,一般為正數。但如果提供了whence引數就不一定了,whence可以為0表示從頭開始計算,1表示以當前位置為原點計算。2表示以檔案末尾為原點進行計算。需要注意,如果檔案以a或a+的模式開啟,每次進行寫操作時,檔案操作標記會自動返回到檔案末尾。

fp.truncate([size])

#把檔案裁成規定的大小,預設的是裁到當前檔案操作標記的位置。如果size比檔案的大小還要大,依據系統的不同可能是不改變檔案,也可能是用0把檔案補到相應的大小,也可能是以一些隨機的內容加上去。

目錄操作:

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」) 換路徑

案例:# 作者:網際網路老辛

# 開發時間:2021/4/5/0005 8:23

import os

#os.system('notepad.exe') #開啟記事本

#os.system('calc.exe') #開啟計算器

##直接呼叫可執行檔案

#os.startfile('d:\\software\\wecha程式設計客棧t\\wechat.exe') #開啟微信

print(os.getcwd()) #檢視當前目錄

print(os.listdir('../v程式設計客棧ippython')) #檢視vippython中包含的目錄

os.mkdir('d_file') #建立資料夾

Python常見檔案操作的函式示例

coding utf8 python常見檔案操作示例 os.path 模組中的路徑名訪問函式 分隔basename 去掉目錄路徑,返回檔名 dirname 去掉檔名,返回目錄路徑 join 將分離的各部分組合成乙個路徑名 split 返回 dirname basename 元組 splitdrive...

Python常見檔案操作的函式示例

coding utf8 python常見檔案操作示例 os.path 模組中的路徑名訪問函式 分隔basename 去掉目錄路徑,返回檔名 dirname 去掉檔名,返回目錄路徑 join 將分離的各部分組合成乙個路徑名 split 返回 dirname basename 元組 splitdrive...

Python常見檔案操作的函式示例

coding utf8 python常見檔案操作示例 os.path 模組中的路徑名訪問函式 分隔basename 去掉目錄路徑,返回檔名 dirname 去掉檔名,返回目錄路徑 join 將分離的各部分組合成乙個路徑名 split 返回 dirname basename 元組 splitdrive...