1.開啟檔案
open()開啟檔案並返回檔案物件,引數很多,一般用前兩個,open(file,mode)。file可以是檔名或者檔案目錄下的檔名,mode為開啟的方式,可以是唯讀、寫入、追加寫入、可讀可寫等等。
開啟某個檔案,需要知道該檔案的目錄,或者該檔案就在當前的工作目錄下。
(1)包含目錄的檔名(不修改當前工作目錄)
>>> f=open('e:/python/record.txt
') #
或者f=open(r'e:\python\record.txt')
#或者f=open('e:\\python\\record.txt')
>>> f.read()
(2)檔名(修改當前的工作目錄)
import os #插入os模組
os.getcwd() #
查詢當前工作目錄
os.chdir('
e:\python
') #
更改當前工作目錄
os.getcwd() #
查詢當前工作目錄,發現修改成功
f=open('
record.txt
') #
開啟檔案返回賦值到f
f.read() #
讀取檔案
2.檔案讀取和定位(基於檔案物件的方法)
檔案是基於定位讀取的。
read():開始讀取時沒有設定引數,則從當前定位到末尾全部讀取出來。
readline():讀取當前指標位置向後的該行。
tell():當前檔案指標的位置。
seek(offset,from):移動指標,從from處向後移動offset個位元組,from取值0(起始)或1(當前)或2(末尾)。返回指標所在位置。
檔案讀取的指標不會自動歸位,上面所有的操作具有連續性。每次讀取時需要重新定位。
#record.txt檔案內容為411
f=open(r'
e:\python\record.txt)
f.read() #
『411』
f.tell() #
3f.read() #
''f.seek(1,0) #
1f.read() #
'11'
f.seek(0,0) #
0for each in
f:
print(each) #
411
3.檔案寫入
寫入需要在開啟檔案時進行設定為'w'(覆蓋)或'a'(末尾新增)。若用別的模式開啟,需要關閉後再開,不然會出錯。
物件方法有write(str)和writelines(seq)
f.close() #接2繼續
f=open('
record.txt
','w+
') #
寫讀模式開啟
f.write('
1225
') #
返回4f.seek(0,0) #
寫入後指標在末尾,讀取前重新歸零
f.read() #
'1225'
4.os模組
該模組用於訪問系統檔案。
importosos.getcwd()
#獲取當前工作目錄
os.chdir(『e:\\python\\』) #
更改當前工作目錄為e:\phthon
os.listdir() #
列出當前目錄下的檔案和子目錄
os.mkdir('
test
') #
在當前目錄下建立新資料夾test
os.makedirs(r'
1\2\3
') #
建立多層目錄
os.remove('
record.txt
') #
刪除檔案
os.removedirs(r'
1\2\3
') #
刪除多層資料夾
os.rename('
record.txt
','r.txt
') #
檔案或資料夾重新命名
os.system('
calc
') #
呼叫計算器
walk(top)用於遍歷所有的子檔案和資料夾,返回的是元組(路徑,資料夾,檔名)
os.chdir(r'os模組中的path,可以針對的路徑的操作('python\\s', , )
os.path.basename(r'a\b\record.txt
') #'record.txt'
得到路徑中的檔名
os.path.dirname(r
'a\b\record.txt
') #'a\\b'
得到路徑中的路徑
os.path.join(r
'a\b\test
','record.txt
') #'a\\b\\test\\record.txt'
os.path.split(r
'a\b\record.txt
') #('a\\b', 'record.txt'
)os.path.splitext(r
'a\b\record.txt
') #('a\\b\\record', '.txt')
getatime()獲取檔案訪問時間,getctime()獲取檔案建立時間,getmtime()獲取檔案修改時間
time
模組可以對時間進行換算
os.chdir('e:/python/')
print(
'record,txt 被修改的時間是:
',time.strftime('
%d %b %y %h:%m:%s
',time.localtime(os.path.getmtime('
record.txt
'))))
#record,txt 被修改的時間是: 23 jan 2018 08:43:53
5.pickle模組
pickle的功能就是把你上次計算得到的資料儲存起來,當你需要使用這些資料時,直接通過reload把資料恢復了就行。這樣不用重複計算,也不用轉換資料格式。
importpickle
mlist=[123,3.14,'
歡歡歡',['
another list']]
pfile=open('
e:/python/list.pkl
','wb
') #
open可新建檔案
pickle.dump (mlist,pfile) #
將列表儲存到檔案中
pfile.close()
importpickle
pfile=open('
e:/python/list.pkl
','rb
') #
開啟讀取檔案
mlist=pickle.load(pfile) #
載入pickle檔案
print (mlist)
#[123, 3.14, '歡歡歡', ['another list']]
讀取列表
Python常用檔案操作
使用python進行檔案操作是各種資料預處理的必備技能。主要涉及的是檔名和路徑字串處理。import os,shutil,sysbase dir os.path.dirname os.path.abspath file 新增到import庫查詢目錄 複製檔案 shutil.copy c a 1.tx...
Python常用檔案操作參考
1.os 1.重新命名 os.rename old,new 2.刪除 os.remove file 3.列出目錄下的檔案 os.listdir path 4.獲取當前工作目錄 os.getcwd 5.改變工作目錄 os.chdir newdir 6.建立多級目錄 os.makedirs r c py...
Python常用檔案操作參考
1.os 1.重新命名 os.rename old,new 2.刪除 os.remove file 3.列出目錄下的檔案 os.listdir path 4.獲取當前工作目錄 os.getcwd 5.改變工作目錄 os.chdir newdir 6.建立多級目錄 os.makedirs r c py...