只要有IO,那麼就會發生IOError。所以儘量每次都要使用try...finally
#!/usr/bin/env python #-*-coding:utf-8-*- try: f=open("test2.py","r") print f.read() finally: f.close()
但是。我們可以用
with open ("test2.py",'r') as f: print f.read()
同理,寫文件:
with open ("test2.py",'rw') as f: f.write("Hello world")
除了文件讀寫,還有文件夾操作,以及系統操作----OS 模塊
import os #用來設置環境變量 os.environ() #顯示所有的環境變量 os.envirn.keys() #顯示出文件夾和文件名,字符串形式 os.listdir(path) #創建文件夾,移除文件夾 os.mkdir() os.rmdir() #===========os.path模塊=============== #路徑+文件名==文件所在路徑 os.path.join(path,filename) #判斷是否是文件夾還是文件 os.path.isdir(path) os.path.isfile(path) #得到文件名 os.path.split(path) #得到文件拓展名 os.path.splitext(path) #可以使用dir(os)來得到os所有的變量和方法 #使用help(os.xxx)來得到具體的用法
編寫一個search(s)
的函數,能在當前目錄以及當前目錄的所有子目錄下查找文件名包含指定字符串的文件,並打印出完整路徑:
#!/usr/bin/env python #-*-coding:utf-*- import os def search(path,name): for x in os.listdir(path): # print x files=os.path.join(path,x) #print files if os.path.isdir(files): #print files search(files,name) elif os.path.isfile(files) and x.find(name)!=-1: print files search("D:\\java","test")