os 和 sys 是兩個(gè)非常常見(jiàn)的和操作系統(tǒng)交互的模塊
二者在很多接口上也比較類似,比如都有os/sys.exit(),os/sys、path()等接口
官方文檔里對(duì)于二者區(qū)別有這樣的描述:
os: This module provides a portable way of using operating system dependent functionality.
這個(gè)模塊提供了一種方便的使用操作系統(tǒng)函數(shù)的方法
sys:This module provides access to some variables used or maintained by the interpreter and to functions that interact strongly with the interpreter.
這個(gè)模塊可共訪問(wèn)由解釋器使用或維護(hù)的變量和與解釋器進(jìn)行交互的函數(shù)
os 常用方法
os.remove() # 刪除文件
os.rename() # 重命名文件
os.walk() # 生成目錄樹下的所有文件名
os.chdir() # 改變目錄
os.mkdir/makedirs # 創(chuàng)建目錄/多層目錄
os.rmdir/removedirs # 刪除目錄/多層目錄
os.listdir() # 列出指定目錄的文件
os.getcwd() # 取得當(dāng)前工作目錄
os.chmod() # 改變目錄權(quán)限
os.path.basename() # 去掉目錄路徑,返回文件名
os.path.dirname() # 去掉文件名,返回目錄路徑
os.path.join() # 將分離的各部分組合成一個(gè)路徑名
os.path.split() # 返回( dirname(), basename()) # 元組
os.path.splitext() # 返回 (filename, extension) 元組
os.path.getatime\ctime\mtime # 分別返回最近訪問(wèn)、創(chuàng)建、修改時(shí)間
os.path.getsize() # 返回文件大小
os.path.exists() # 是否存在
os.path.isabs() # 是否為絕對(duì)路徑
os.path.isdir() # 是否為目錄
os.path.isfile() # 是否為文件
sys 常用方法
sys.argv # 命令行參數(shù)List,第一個(gè)元素是程序本身路徑
sys.modules.keys() # 返回所有已經(jīng)導(dǎo)入的模塊列表
sys.exc_info() # 獲取當(dāng)前正在處理的異常類,exc_type、exc_value、exc_traceback當(dāng)前處理的異常詳細(xì)信息
sys.exit(n) # 退出程序,正常退出時(shí)exit(0)
sys.hexversion # 獲取Python解釋程序的版本值,16進(jìn)制格式如:0x020403F0
sys.version 獲取Python解釋程序的版本信息
sys.maxint # 最大的Int值
sys.maxunicode # 最大的Unicode值
sys.modules # 返回系統(tǒng)導(dǎo)入的模塊字段,key是模塊名,value是模塊
sys.path # 返回模塊的搜索路徑,初始化時(shí)使用PYTHONPATH環(huán)境變量的值
sys.platform # 返回操作系統(tǒng)平臺(tái)名稱
sys.stdout # 標(biāo)準(zhǔn)輸出
sys.stdin # 標(biāo)準(zhǔn)輸入
sys.stderr # 錯(cuò)誤輸出
sys.exc_clear() # 用來(lái)清除當(dāng)前線程所出現(xiàn)的當(dāng)前的或最近的錯(cuò)誤信息
sys.exec_prefix # 返回平臺(tái)獨(dú)立的python文件安裝的位置
sys.byteorder # 本地字節(jié)規(guī)則的指示器,big-endian平臺(tái)的值是'big',little-endian平臺(tái)的值是'little'
sys.copyright # 記錄python版權(quán)相關(guān)的東西
sys.api_version # 解釋器的C的API版本
總結(jié):
os模塊負(fù)責(zé)程序與操作系統(tǒng)的交互,提供了訪問(wèn)操作系統(tǒng)底層的接口;sys模塊負(fù)責(zé)程序與python解釋器的交互,提供了一系列的函數(shù)和變量,用于操控python的運(yùn)行時(shí)環(huán)境。