python編程時,經常和文件、目錄打交道。os模塊包含普遍的操作系統功能,與具體的平臺無關。以下列舉常用的命令
1. os.name——判斷現在正在實用的平臺,Windows 返回 ‘nt'; Linux 返回’posix'
2. os.getcwd()——得到當前工作的目錄。
3. os.listdir()——指定所有目錄下所有的文件和目錄名,以列表的形式全部列舉出來,其中沒有區分目錄和文件。
4. os.remove()——刪除指定文件
5. os.rmdir()——刪除指定目錄
6. os.mkdir()——創建目錄
注意:這樣只能建立一層,要想遞歸建立可用:os.makedirs()
7. os.path.isfile()——判斷指定對象是否爲文件。是返回True,否則False
8. os.path.isdir()——判斷指定對象是否爲目錄。是True,否則False。
9. os.path.exists()——檢驗指定的對象是否存在。是True,否則False.例:
10. os.path.split()——返回路徑的目錄和文件名。例:
此處只是把前後兩部分分開而已。就是找最後一個'/'。看例子:
11. os.getcwd()——獲得當前工作的目錄(get current work dir)
12. os.system()——執行shell命令。例:
注意:此處運行shell命令時,如果要調用python之前的變量,可以用如下方式:
var=123 os.environ['var']=str(var) #注意此處[]內的是 “字符串” os.system('echo $var')
13. os.chdir()——改變目錄到指定目錄
14. os.path.getsize()——獲得文件的大小,如果爲目錄,返回0
15. os.path.abspath()——獲得絕對路徑。
16. os.path.join(path, name)——連接目錄和文件名。
17.os.path.basename(path)——返回文件名
18. os.path.dirname(path)——返回文件路徑
19. 獲得程序所在的實際目錄
import os import sys if __name__ == "__main__": print os.path.realpath(sys.argv[0]) print os.path.split(os.path.realpath(sys.argv[0])) print os.path.split(os.path.realpath(sys.argv[0]))[0]
執行結果
|
/home/jihite/ftp/del.py ( '/home/jihite/ftp' , 'del.py' ) /home/jihite/ftp |
細節——os.path.spilit()把目錄和文件區分開
|
>>>
import os >>>
os.path.split( "a/b/c/d" ) ( 'a/b/c' , 'd' ) >>>
os.path.split( "a/b/c/d/" ) ( 'a/b/c/d' , '' ) |
python遍歷文件夾,文件:
import os import os.path rootdir = “d:\data” # 指明被遍歷的文件夾 for parent,dirnames,filenames in os.walk(rootdir): #三個參數:分別返回1.父目錄 2.所有文件夾名字(不含路徑) 3.所有文件名字 for dirname in dirnames: #輸出文件夾信息 print "parent is:" + parent print "dirname is" + dirname for filename in filenames: #輸出文件信息 print "parent is": + parent print "filename is:" + filename print "the full name of the file is:" + os.path.join(parent,filename) #輸出文件路徑信息 #windows下爲:d:\data\query_text\EL_00154