在python,使用open函式,可以開啟乙個已經存在的檔案,或者建立乙個新檔案
open(檔名,訪問模式)
示例如下:
f = open('test.txt', 'w')
說明:
訪問模式說明r
以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。
w開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
a開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
rb以二進位制格式開啟乙個檔案用於唯讀。檔案指標將會放在檔案的開頭。這是預設模式。
wb以二進位制格式開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
ab以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
r+開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。
w+開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
a+開啟乙個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。
rb+以二進位制格式開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。
wb+以二進位制格式開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
ab+以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。
close( )
示例如下:
使用write()可以完成向檔案寫入資料# 新建乙個檔案,檔名為:test.txt
f = open('test.txt', 'w')
# 關閉這個檔案
f.close()
demo:
f = open('test.txt', 'w')
f.write('hello world, i am here!')
f.close()
執行現象:
注意:使用read(num)可以從檔案中讀取資料,num表示要從檔案中讀取的資料的長度(單位是位元組),如果沒有傳入num,那麼就表示讀取檔案中所有的資料
demo:
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=1for temp in content:
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')
# 如果開啟檔案
if oldfile:
# 提取檔案的字尾
fileflagnum = oldfilename.rfind('.')
if fileflagnum > 0:
fileflag = oldfilename[fileflagnum:]
# 組織新的檔案名字
newfilename = oldfilename[:fileflagnum] + '[復件]' + fileflag
# 建立新檔案
newfile = open(newfilename, 'w')
# 把舊檔案中的資料,一行一行的進行複製到新檔案中
for linecontent in oldfile.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個引數
demo:把位置設定為:從檔案開頭,偏移5個位元組
# 開啟乙個已經存在的檔案
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()
demo:把位置設定為:離檔案末尾,3位元組處
# 開啟乙個已經存在的檔案
f = open("test.txt", "r")
# 查詢當前位置
position = f.tell()
print
"當前檔案位置 : ", position
# 重新設定位置
f.seek(-3,2)
# 讀取到的資料為:檔案最後3個位元組資料
str = f.read()
print
"讀取的資料是 : ", str
f.close()
有些時候,需要對檔案進行重新命名、刪除等一些操作,python的os模組中都有這麼功能
os模組中的rename()可以完成對檔案的重新命名操作
rename(需要修改的檔名, 新的檔名)
import os
os.rename("畢業**.txt", "畢業**-最終版.txt")
os模組中的remove()可以完成對檔案的刪除操作
remove(待刪除的檔名)
import os
os.remove("畢業**.txt")
實際開發中,有時需要用程式的方式對資料夾進行一定的操作,比如建立、刪除等
就像對檔案操作需要os模組一樣,如果要操作資料夾,同樣需要os模組
import os
os.mkdir("張三")
import os
os.getcwd()
import os
os.chdir("../")
import os
os.listdir("./")
import os
os.rmdir("張三")
Python 檔案與檔案操作
2.檔案的開啟和關閉 3.檔案的關閉 4.檔案內容讀取的常用方法 5.遍歷文字的常用方法 6.資料檔案的寫入 二.資料的格式化與處理 擴充套件 三.例項 1.檔案的型別 檔案是資料的抽象與集合。二進位制檔案 直接由位元0和1組成,沒有統一編碼,存在二進位制0和1的組織式結構 2.檔案的開啟和關閉 開...
Python檔案與資料夾操作
import os import shutil if name main print os.path.abspath print os.path.split d pypro h.py print os.path.splitext d pypro h.py if not os.path.exists ...
python 檔案與目錄操作
1 os.path 1.1 os.path.isabs path 是否是絕對路徑 1.2 os.path.isfile path 1.3 os.path.isdir path 1.4 os.path.islink path 是否是鏈結 但如果系統不支援鏈結,返回false 1.5 os.path.i...