核心程式設計9 檔案和檔案的輸入輸出 (os模組)

2022-02-08 02:37:18 字數 3298 閱讀 1877

1  python內建函式open和file

檔案開啟方便讀取:f = open('

檔名','

模式','

緩衝模式

')         #'r'

讀取,'w'

寫入(先清空後建立)

.'a'

追加

詳情檔案模式:

r 以讀方式開啟

ru 或 ua 以讀方式開啟, 同時提供通用換行符支援 (pep 278)

w 以寫方式開啟 (必要時清空)

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

r+ 以讀寫模式開啟

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

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

rb 以二進位制讀模式開啟

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

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

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

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

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

檔案讀取:

f.read()     #

讀取所有檔案內容到字串,從開頭到結尾

f.readline()        #

讀取檔案的一行作為字串,一行一行地讀,比較費時間     遍歷:for i in range(10): \n    print f.readline()

f.readlines()          #

讀取所有行,輸出乙個字串的列表,比較佔記憶體

檔案輸出:

f.write()     #

把內容寫進檔案中去

f.writelines

()     

#接受乙個字串列表作為引數,將他們寫入檔案

#例項:把input的內容寫到t1.txt中

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

while true:

aline = raw_input('enter a line,"."to quit:')

if aline != '.':

f.write(aline+'\n')

else:

break

f.close()

2 os包相關操作

當前路徑:

print os.getcwd(),'

獲得當前路徑

'資料夾和資料夾名稱:

print os.path.split('d

:\pytharm\

學習檔案

\py5.py')    #

將檔案的路徑和檔名分開,放到元組中

print os.path.join('d

:\pytharm\

學習檔案

','shiyan.txt'),    #

把路徑和檔名組合起來

'路徑和檔案:

print os.path.dirname('d

:\pytharm\

學習檔案

\lianxi.txt'),    #

輸出檔案中的資料夾部分,元組

'

1. os.name——判斷現在正在實用的平台,windows 返回 『nt'; linux 返回』posix'

2. os.getcwd()——得到當前工作的目錄。

3. os.listdir()——指定所有目錄下所有的檔案和目錄名

4. os.remove()——刪除指定檔案

5. os.rmdir()——刪除指定目錄

6. os.mkdir()——建立目錄

7. os.path.isfile()——判斷指定物件是否為檔案。是返回true,否則false

8. os.path.isdir()——判斷指定物件是否為目錄。是true,否則false。

9. os.getcwd()——獲得當前工作的目錄(get current work dir)

13. os.chdir()——改變目錄到指定目錄

14. os.path.getsize()——獲得檔案的大小,如果為目錄,返回0

15. os.path.abspath()——獲得絕對路徑。

16. os.path.join(path, name)——連線目錄和檔名

3  例項(使用的是linux系統)#!/user/bin/python

#!/user/bin/python

#coding:utf-8

#列印出某資料夾下面的檔案資料夾和子檔案子資料夾的絕對路徑

import os

allfile=

def dirlist(path):

filelist=os.listdir(path)

for filename in filelist:

filepath= os.path.join(path,filename)

if os.path.isdir(filepath): # 遞迴呼叫本身:傳入子檔案的路徑,listdir,遍歷,檔名和路徑合起來,判斷是不是目錄,

dirlist(filepath)

return allfile

afile=dirlist('/home/daqing/daqing/testfile/user1')

print afile

4目錄遍歷簡潔公升級版

os.walk(path):該函式返回乙個元組,元組的元素是:每次遍歷的路徑名,當前目錄列表和檔案列表    

os.walk('/home/daqing/lianxi/testfile/user2')返回乙個生成器型別,大體格式應當是('/home/daqing/lianxi/testfile/user2',['hehe'],['7777'])
import os

for path,d,filelist in os.walk('/home/daqing/lianxi/testfile/user2'):

for filename in filelist:

print os.path.join(path,filename)

#返回結果:

/home/daqing/lianxi/testfile/user2/7777

/home/daqing/lianxi/testfile/user2/hehe/8888目

目錄結構如下:

── user2

│   ├── 7777

│   └── hehe

│           ├── 8888

│           └── haha

9 檔案輸入與輸出

要想對檔案進行讀取,就需要乙個用file物件構造乙個scanner物件,如下所示 scanner in new scanner paths.get myfile.txt utf 8 如果檔名包含反斜槓符號,就要記住在每個反斜槓之前再加乙個額外的反斜槓 c mydirectory myfile.txt...

檔案輸入輸出(二) 檔案的操作

file fopen char filename,char mode filename對應的實參是乙個字串,表示需要開啟的檔案的檔名 可以包括檔案的路徑 該實參可以是乙個字串常量,也可以是乙個字元指標 mode對應的實參也是乙個字串,對應了檔案的操作模式 r 以唯讀方式開啟乙個文字檔案,如果檔案不存...

2017 11 04 10檔案的輸入輸出,異常

檔案的輸入輸出,異常 1.檔案 2.異常 1.檔案的輸入輸出 1.開啟檔案open函式 open file option file是要開啟的檔案 option是可選擇的引數,常見有 mode等 2.檔案的開啟模式 r 制度模式,檔案不存在時會報錯 w 寫入模式,檔案存在會清空之前的內容,檔案不存在則...