首先引入模塊:import os
判斷是否存在:
os.path.exists(‘filename/dirname’)//文件/文件夾都可以
判斷類型:
os.path.isdir(‘filename')//判斷是否是目錄
os.path.isfile(‘filename') //判斷是否是文件
os.path.islink(‘filename') //判斷是否是鏈接
新建/打開文件:
fp=open(‘filename’, ‘mode’)
mode:
w 以寫方式打開,若文件存在,先清空
a 以追加模式打開 (從 EOF 開始, 必要時創建新文件)
r+ 以讀寫模式打開
w+ 以讀寫模式打開 (參見 w )
a+ 以讀寫模式打開 (參見 a )
rb 以二進制讀模式打開
wb 以二進制寫模式打開 (參見 w )
ab 以二進制追加模式打開 (參見 a )
rb+ 以二進制讀寫模式打開 (參見 r+ )
wb+ 以二進制讀寫模式打開 (參見 w+ )
ab+ 以二進制讀寫模式打開 (參見 a+ )
關閉文件:
fp.close()
文件屬性:
fp.name//文件名
fp.closed//文件是否關閉
fp.mode//文件打開模式
fp.encoding//文件編碼方式
fp.newlines//文件用到的換行模式,是一個tuple
讀文件:
fp.read(size)//讀入固定字節數
fp.readline()//讀一行
fp.readline(size)//讀一行的前size個字節數
fp.readlines()//讀文件的所有行,每行作爲一個list的項,返回該list,內部通過調用readline()實現
fp.readlines(size)//讀文件的所有行,直到讀完或者總共讀夠size字節結束
寫文件:
fp.write('string')//不會另外添加換行符
fp.writelines('string')//不會另外添加換行符
新建目錄:
os.makedirs('dirname')//遞歸創建多級目錄
列出目錄下的所有內容:
os.listdir('dirname')
刪除文件:
os.remove('filename')
刪除目錄:
os.rmdir('dirname')//刪除空目錄
os.removedirs('dirname')//遞歸刪除空目錄
遞歸刪除路徑下的所有文件和文件夾:
方法一:使用shutil模塊:
import shutil
shutil.rmtree('dirname')
方法二:
# Delete everything reachable from the directory, assuming there are no symbolic links.
# CAUTION: This is dangerous!
#
For example, if 'dirname' == '/', it could delete all your disk files.
import os
for root, dirs, files in os.walk('dirname', topdown=False):
for name in files:
os.remove(os.path.join(root, name))
for name in dirs:
os.rmdir(os.path.join(root, name))
對目錄下特定類型的文件進行操作:
方法一:使用fnmatch模塊:
import fnmatch
import os
for fileName in os.listdir ( 'dirname' ):
if fnmatch.fnmath (fileName, '*.txt' ): //'*'表示任意長度的字符串;'?'表示1個字符
print open (fileName).read()
elif fnmatch.fnmatch ( fileName, '*.exe' ):
print fileName
方法二:使用glob模塊:
import glob
for fileName in glob.glob ( '*.txt' ):
print 'Text file.'
將緩衝區寫入硬盤:
fp.flush()
返回文件當前位置:
fp.tell()//以文件開頭爲原點
返回文件下一行:
fp.next()//文件指針也會移到下一行,相當於讀一行
將文件指針標記到固定位置:
fp.seek(offset)//以文件開頭爲原點
fp.seek(offset,mode)//mode=0:以文件開頭爲原點;mode=1:以當前位置爲原點;mode=2:以文件末尾爲原點將文件裁成規定的大小:
fp.truncate()//將文件指針標記之後的內容裁掉
fp.truncate(size)//將文件裁至只留前size字節;若size比文件大,依據系統可能會不改變,也可能是用0(或隨機內容)把文件補到size大小
獲取當前運行程序路徑:
str=os.getcwd()
更改當前目錄:
os.chdir('dirname')
參考
http://www.cr173.com/html/18777_1.html
http://blog.163.com/loveyangmao@126/blog/static/6967414320111024000834/
http://blog.csdn.net/adupt/article/details/4435615
http://maincoolbo.iteye.com/blog/626655
http://www.cnblogs.com/yuxc/archive/2011/08/01/2124012.html