python的檔案操作

2021-08-21 07:59:16 字數 4179 閱讀 2830

f = open('test.txt', 'w')
讀取方式:

訪問模式說明r

以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。

w開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

a開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。

rb以二進位制格式開啟乙個檔案用於唯讀。檔案指標將會放在檔案的開頭。這是預設模式。

wb以二進位制格式開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

ab以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。

r+開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。

w+開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

a+開啟乙個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。

rb+以二進位制格式開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。

wb+以二進位制格式開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

ab+以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。

# 新建乙個檔案,檔名為:test.txt

f = open('test.txt', 'w')

​    # 關閉這個檔案

f.close()

f = open('test.txt', 'w')

f.write('hello world, i am here!')

f.close()

讀單個資料

使用read(num)可以從檔案中讀取資料,num表示要從檔案中讀取的資料的長度(單位是位元組),如果沒有傳入num,那麼就表示讀取檔案中所有的資料

f = open('test.txt', 'r')

​content = f.read(5)

​print(content)

​print("-"

*30)

​content = f.read()

​print(content)

​f.close()

讀所有資料

就像read沒有引數時一樣,readlines可以按照行的方式把整個檔案中的內容進行一次性讀取,並且返回的是乙個列表,其中每一行的資料為乙個元素

#coding=utf-8

​f = open('test.txt', 'r')

​content = f.readlines()

​print(type(content))

​i=1

fortemp

incontent:

print("%d:%s"

%(i, temp))

i+=1

​f.close()

讀一行資料
#coding=utf-8

​f = open('test.txt', 'r')

​content = f.readline()

print("1:%s"

%content)

​content = f.readline()

print("2:%s"

%content)

​f.close()

拷貝檔案:

#coding=utf-8

​oldfilename = input("請輸入要拷貝的檔案名字:")

​oldfile = open(oldfilename,'r')

​# 如果開啟檔案

ifoldfile:

​    # 提取檔案的字尾

fileflagnum = oldfilename.rfind('.')

iffileflagnum

>

0:        fileflag = oldfilename[fileflagnum:]

​    # 組織新的檔案名字

newfilename = oldfilename[:fileflagnum] +

'[復件]'

+fileflag

​    # 建立新檔案

newfile = open(newfilename, 'w')

​    # 把舊檔案中的資料,一行一行的進行複製到新檔案中

forlinecontent

inoldfile.readlines():

newfile.write(linecontent)

​    # 關閉檔案

oldfile.close()

newfile.close()

使用tell()來獲取

# 開啟乙個已經存在的檔案

f = open("test.txt", "r")

str = f.read(3)

print

"讀取的資料是 : ", str

​    # 查詢當前位置

position = f.tell()

print

"當前檔案位置 : ", position

​    str = f.read(3)

print

"讀取的資料是 : ", str

​    # 查詢當前位置

position = f.tell()

print

"當前檔案位置 : ", position

​    f.close()

可以使用seek(), seek(offset, from)有2個引數:

# 開啟乙個已經存在的檔案

f = open("test.txt", "r")

str = f.read(30)

print

"讀取的資料是 : ", str

​    # 查詢當前位置

position = f.tell()

print

"當前檔案位置 : ", position

​    # 重新設定位置

f.seek(5,0)

​    # 查詢當前位置

position = f.tell()

print

"當前檔案位置 : ", position

​    f.close()

importos​

os.rename("畢業**.txt", "畢業**-最終版.txt")

importos​

os.remove("畢業**.txt")

importos​

os.mkdir("張三")

importos​

os.getcwd()

importos​

os.chdir("../")

importos​

os.listdir("./")

importos​

os.rmdir("張三")

批量修改檔名

#coding=utf-8

​    # 批量在檔名前加字首

​    importos​

funflag = 1

# 1表示新增標誌 2表示刪除標誌

​    foldername = './renamedir/'

​    # 獲取指定路徑的所有檔案名字

dirlist = os.listdir(foldername)

​    # 遍歷輸出所有檔案名字

forname

indirlist:

print

name

​        if

funflag == 1:

newname = '[東哥出品]-'

+name

elif

funflag == 2:

num = len('[東哥出品]-')

newname = name[num:]

print

newname

​        os.rename(foldername

+name, foldername

+newname)

Python的檔案操作

1.open使用open開啟檔案後一定要記得呼叫檔案物件的close 方法。比如可以用try finally語句來確保最後能關閉檔案。file object open thefile.txt try all the text file object.read finally file object....

Python的檔案操作

python中對檔案 資料夾 檔案操作函式 的操作需要涉及到os模組和shutil模組。一 1.得到當前工作目錄,即當前python指令碼工作的目錄路徑 os.getcwd 2.返回指定目錄下的所有檔案和目錄名 os.listdir 3.函式用來刪除乙個檔案 os.remove 4.刪除多個目錄 o...

python的檔案操作

toc 開啟檔案的模式有 1.唯讀模式 預設 2.只寫模式 不可讀,不存在則建立,存在則覆蓋 3.追加模式 可讀,不存在則建立,存在則只追加內容 表示可同時讀寫某個檔案 1.r 可讀寫檔案 可讀,可寫,可追加 2.w 寫讀 3.a 追加 b 表示處理二進位制檔案 1.rb 2.wb 3.ab 序號方...