標籤:控制 format color ram div lis 布爾 join 編碼方式
OS模組簡單的來說它是一個Python的系統編程的操作模組,可以處理檔案和目錄這些我們日常手動需要做的操作,OS模組提供對作業系統進行調用的介面。
幾個重要函數:
os.getcwd()#查看當前所在路徑,預設是Python程式所在路徑os.chdir()#切換目錄,功能和linux中cd命令一樣os.curdir#返回目前的目錄‘.’os.pardir#返回當前父目錄‘..’os.makedirs()#建立多級目錄,功能和linux中的mkdir -p命令一樣os.removedirs()#刪除多級目錄,若目錄非空,無法刪除,以此類推os.mkdir()#建立單級目錄os.rmdir()#刪除單級目錄os.listdir()#列出制定目錄下所有的目錄和檔案,以列表形式放回os.remove()#刪除檔案os.rename()#重新命名檔案os.stat()#擷取目錄和檔案資訊os.sep#輸出當前作業系統分隔字元,windows為‘\\’,Linux為‘/’os.linesep#輸出當前作業系統行終止符,windows為‘\t\n’,Linux為‘\n’os.pathsep#輸出用於分割檔案路徑的字串os.name#輸出當前使用平台,windows為‘nt’,Linux為‘postix’os.system()#輸出Linux命令os.environ()#擷取系統內容變數os.path.abspath()#輸出絕對路徑os.path.split()#將path分割成目錄和檔案名稱的二元組返回os.path.dirname()#返回path的目錄os.path.basename()#返回path最後的檔案名稱os.path.exists()#判斷路徑是否存在,返回Ture或Falseos.path.isabs()#判斷路徑是否絕對路徑,返回True或Falseos.path.isflie()#判讀是否是檔案,返回True或Falseos.path.isdir()#判斷是否是目錄,返回True或Falseos.path.join()#將多個檔案組合返回os.path.getatime()#擷取路徑最後存取時間os.path.getmtime()#擷取路徑最後修改時間
我們來看下各個函數的例子:
1.os.getcwd()、os.chdir()
import osos.getcwd() #當前所在目錄os.chdir(r‘d:\\‘) #切換路徑 os.getcwd()
輸出結果:
‘D:\\Program Files\\python3.6‘‘d:\\‘
2.os.curdir和os.pardir
os.curdiros.pardir
輸出結果:
‘.‘‘..‘
3.os.makedirs()
建立多級目錄,類似Linux中mkdir -p的作用。
import osos.path.exists(‘d:\\234‘) #檢查d:\\234目錄是否存在os.makedirs(‘d:\\234\\234‘) #建立多級目錄 d:\\234\\234
os.path.exists(‘d:\\234‘) #檢查d:\\234目錄是否存在os.path.exists(‘d:\\234\\234‘)#檢查d:\\234\\234目錄是否存在
輸出結果:
False #d:\\234目錄不存在True #d:\\234目錄存在True #d:\\234\\234目錄存在
使用os.makedirs()函數同時建立了d:\\234及d:\\234\234兩個目錄,且這兩個目錄是父子關係。
4.os.removedirs()
import osprint(os.path.exists(‘d:\\234‘))print(os.path.exists((‘d:\\234\\234‘))#判斷d:\\234\\234目錄是否存在os.removedirs(‘d:\\234\\234‘)#刪除d:\\234下所有,包括子目錄\\234print(os.path.exists(‘d:\\234‘))#判斷是否已經刪除子目錄\\234
輸出結果:
TrueTrueFalse
從os.path.exists(‘d:\\234’)的輸出結果來看,表明os.removedirs()已經將d:\\234和子目錄\\234都刪除了。
5.os.mkdir和os.rmdir
os.mkdir和os.rmdir用法和Linux中mkdir、rmdir一樣,建立、刪除目錄。
import osprint(os.path.exists(‘d:\\234‘))os.mkdir(‘d:\\234‘)print(os.path.exists(‘d:\\234‘))os.rmdir(‘d:\\234‘)print(os.path.exists(‘d:\\234‘))
輸出結果:
FalseTrueFalse
6.os.listdir
import osprint(os.listdir(‘d:\\’))
輸出結果:
[‘$RECYCLE.BIN‘, ‘360安全瀏覽器下載‘, ‘BaiduNetdiskDownload‘, ‘dameware7.5.5‘, ‘MSOCache‘, ‘Office_2013_X64‘, ‘Program Files‘, ‘Program Files (x86)‘, ‘python‘, ‘System Volume Information‘, ‘Users‘]
os.listdir()函數以列表的形式返回結果,輸出該路勁下所有的目錄。
7.os.remove和os.rename
os.remove()刪除檔案,os.rename(oldname,newname)重新命名檔案
import os
print(os.path.exists(‘d:\\python.txt‘))
os.rename(‘d:\\python.txt‘,‘d:\\python123.txt‘)
print(os.path.exists(‘d:\\python123.txt‘))
print(os.path.exists(‘d:\\python.txt‘))
os.remove(‘d:\\python123.txt‘)
print(os.path.exists(‘d:\\python123.txt‘))
輸出結果:
TrueTrue #os.rename()把python.txt重名為python123.txtFalse #python.txt已被重名為python123.txtFalse #python已被os.remove()刪除
8.os.stat()
import osprint(os.stat(‘d:\\‘))
輸出結果:
os.stat_result(st_mode=16895, st_ino=1407374883553285, st_dev=731043, st_nlink=1, st_uid=0, st_gid=0, st_size=4096, st_atime=1505912747, st_mtime=1505912747, st_ctime=1505665043)
9.os.system()
os.system()輸出Linux 命令。
10.os.path.abspath()
os.path.abspath()輸出絕對路徑
import os
print(os.getcwd())
print(os.path.abspath(‘234.txt‘))
os.chdir(‘d:\\‘)
print(os.path.abspath(‘234.txt‘))
輸出結果:
E:\Len_Pyt #當前路徑E:\Len_Pyt\234.txt #輸出絕對路徑d:\234.txt #修改d:\\後,輸出絕對路徑
11.os.path.split(),os.path.dirname(),os.path.basename()
os.path.split() 將path分割成目錄和檔案名稱的二元組返回
os.path.dirname() 返回path的目錄
os.path.basename() 返回path最後的檔案名稱
12.os.path.exists(),os.path.isfile(),os.path.isdir(),os.path.isabs()
依次判斷路徑是否存在,是否是檔案,是否是目錄,是否絕對路勁,返回布爾值。
13.os.path.getatime()#擷取路徑最後存取時間
os.path.getmtime()#擷取路徑最後修改時間
sys模組:
sys.argv #擷取指令碼名後的參數sys.exit(n) #調用sys.exit(n)可以中途退出程式,當參數非0時,會引發一個SystemExit異常,從而可以在主程式中捕獲該異常。sys.path() #擷取所有python路徑sys.path.insert() #插入python模組sys.platfrom() #擷取當前平台
sys.argv: 實現從程式外部向程式傳遞參數。
sys.exit([arg]): 程式中間的退出,arg=0為正常退出。
sys.getdefaultencoding(): 擷取系統當前編碼,一般預設為ascii。
sys.setdefaultencoding(): 設定系統預設編碼,執行dir(sys)時不會看到這個方法,在解譯器中執行不通過,可以先執行reload(sys),在執行 setdefaultencoding(‘utf8‘),此時將系統預設編碼設定為utf8。(見設定系統預設編碼 )
sys.getfilesystemencoding(): 擷取檔案系統使用編碼方式,Windows下返回‘mbcs‘,mac下返回‘utf-8‘.
sys.path: 擷取指定模組搜尋路徑的字串集合,可以將寫好的模組放在得到的某個路徑下,就可以在程式中import時正確找到。
sys.platform: 擷取當前系統平台。
sys.stdin,sys.stdout,sys.stderr: stdin , stdout , 以及stderr 變數包含與標準I/O 流對應的流對象. 如果需要更好地控制輸出,而print 不能滿足你的要求, 它們就是你所需要的. 你也可以替換它們, 這時候你就可以重新導向輸出和輸入到其它裝置( device ), 或者以非標準的方式處理它們
Python不歸路_os和system模組