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 osfor 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 寫入模式,檔案存在會清空之前的內容,檔案不存在則...