3Python標準庫系列之os模組

weixin_33843409發表於2017-11-14

Python標準庫系列之os模組


This module provides a portable way of using operating system dependent functionality. If you just want to read or write a file see open(), if you want to manipulate paths, see the os.path module, and if you want to read all the lines in all the files on the command line see the fileinput module. For creating temporary files and directories see the tempfile module, and for high-level file and directory handling see the shutil module


os模組常用方法


模組方法 說明
os.getcwd() 獲取當前工作目錄,即當前python指令碼工作的目錄路徑
os.chdir(“dirname”) 改變當前指令碼工作目錄;相當於shell下cd
os.curdir 返回當前目錄: (‘.’)
os.pardir 獲取當前目錄的父目錄字串名:(‘..’)
os.makedirs(‘dirname1/dirname2’) 可生成多層遞迴目錄
os.removedirs(‘dirname1’) 若目錄為空,則刪除,並遞迴到上一級目錄,如若也為空,則刪除,依此類推
os.mkdir(‘dirname’) 生成單級目錄;相當於shell中mkdir dirname
os.rmdir(‘dirname’) 刪除單級空目錄,若目錄不為空則無法刪除,報錯;相當於shell中rmdir dirname
os.listdir(‘dirname’) 列出指定目錄下的所有檔案和子目錄,包括隱藏檔案,並以列表方式列印
os.remove() 刪除一個檔案
os.rename(“oldname”,”newname”) 重新命名檔案/目錄
os.stat(‘path/filename’) 獲取檔案/目錄資訊
os.sep 輸出作業系統特定的路徑分隔符,win下為\\,Linux下為/
os.linesep 輸出當前平臺使用的行終止符,win下為\t\n,Linux下為\n
os.pathsep 輸出用於分割檔案路徑的字串
os.name 輸出字串指示當前使用平臺。win->nt; Linux->posix
os.system(“bash command”) 執行shell命令,直接顯示
os.environ 獲取系統環境變數
os.path.abspath(path) 返回path規範化的絕對路徑
os.path.split(path) 將path分割成目錄和檔名二元組返回
os.path.dirname(path) 返回path的目錄。其實就是os.path.split(path)的第一個元素
os.path.basename(path) 返回path最後的檔名。如何path以\結尾,那麼就會返回空值。即os.path.split(path)的第二個元素
os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path) 如果path是絕對路徑,返回True
os.path.isfile(path) 如果path是一個存在的檔案,返回True。否則返回False
os.path.isdir(path) 如果path是一個存在的目錄,則返回True。否則返回False
os.path.join(path1[, path2[,…]]) 將多個路徑組合後返回,第一個絕對路徑之前的引數將被忽略
os.path.getatime(path) 返回path所指向的檔案或者目錄的最後存取時間
os.path.getmtime(path) 返回path所指向的檔案或者目錄的最後修改時間


常用方法例項

獲取當前工作目錄

1
2
3
 # 獲取的進入python時的目錄
 >>> os.getcwd()
'/root'


改變工作目錄到/tmp

1
2
3
4
5
6
7
8
 # 當前目錄是/root
 >>> os.getcwd()
'/root'
 # 切換到/tmp下
 >>> os.chdir("/tmp")
 # 當前目錄變成了/tmp
 >>> os.getcwd()     
'/tmp'


獲取/root目錄下的所有檔案,包括隱藏檔案

1
2
 >>> os.listdir('/root')
['.cshrc''.bash_history''.bash_logout''.viminfo''.bash_profile''.tcshrc''scripts.py''.bashrc''modules']


刪除/tmp目錄下的os.txt檔案

1
2
3
4
5
6
7
8
 >>> os.chdir("/tmp"
 >>> os.getcwd()     
'/tmp'
 >>> os.listdir('./')   
['.ICE-unix''yum.log']
 >>> os.remove("yum.log")
 >>> os.listdir('./')    
['.ICE-unix']


檢視/root目錄資訊

1
2
 >>> os.stat('/root')        
posix.stat_result(st_mode=16744, st_ino=130817, st_dev=2051L, st_nlink=3, st_uid=0, st_gid=0, st_size=4096, st_atime=1463668203, st_mtime=1463668161, st_ctime=1463668161)


檢視當前作業系統的平臺

1
2
 >>> os.name
'posix'

win —> nt,Linux -> posix


執行一段shell命令

1
2
3
4
5
  # 執行的命令要寫絕對路徑
 >>> os.system("/usr/bin/whoami")    
root
# 0代表命令執行成功,如果命令沒有執行成功則返回的是非0
0


組合一個路徑

1
2
3
4
 >>> a1 = "/"
 >>> a2 = "root"
 >>> os.path.join(a1, a2)
'/root'









本文轉自 Edenwy  51CTO部落格,原文連結:http://blog.51cto.com/edeny/1925712,如需轉載請自行聯絡原作者

相關文章