python 檔案常用操作

2022-07-26 12:15:12 字數 4282 閱讀 2311

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模組

該模組用於訪問系統檔案。

import

osos.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'

('python\\s', , )

os模組中的path,可以針對的路徑的操作

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把資料恢復了就行。這樣不用重複計算,也不用轉換資料格式。

import

pickle

mlist=[123,3.14,'

歡歡歡',['

another list']]

pfile=open('

e:/python/list.pkl

','wb

') #

open可新建檔案

pickle.dump (mlist,pfile) #

將列表儲存到檔案中

pfile.close()

import

pickle

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...