原創 python 使用系統模組

2021-07-29 02:57:53 字數 2772 閱讀 2447

看了development into python ,用的的import os

這裡方便大家理解,直接用 from os import path

當然這個的壞事是不要在自己的**中再次定義path這個欄位.但是有個好處是不用每次都sys.path ...

>>> from os import path

>>> path.expanduser('~')

'c:\\users\\zhangzhipeng'

【釋】expanduser是獲取系統當前使用者的主目錄,mac無效。

>>> path.join('c:\python27\music','summary.***')

'c:\\python27\\music\\summary.***'

【釋】拼接路徑和檔名。反正我的不需要轉義,而且正反斜線都可以獲取到正確的路徑,大家最好是按照輸出結果的路徑進行拼接,以防出錯。

>>> path.join(path.expanduser('~'),'summary.***')

'c:\\users\\zhangzhipeng\\summary.***'

【釋】將使用者主目錄和檔名進行拼接

>>> m_summary=path.join('c:\python27\music','summary.***')

>>> path.split(m_summary)

('c:\\python27\\music', 'summary.***')

【釋】獲取一首歌的完整路徑名(含檔名),將路徑名分割為路徑和檔案名字。

>>> path.splitext('summary.***')

('summary', '.***')

【釋】將完整檔名分為檔名和字尾

>>> m_name, m_extension = path.splitext('summary.***')

>>> m_name, m_extension

('summary', '.***')

【釋】同上

>>> path.splitext(m_summary)

('c:\\python27\\music\\summary', '.***')

【釋】假如給定乙個完整的路徑含檔名和字尾,這樣也可以直接獲取到檔案型別。不過不建議這麼做,因為生成的元組中元素1毫無意義。

>>> from os import listdir as os_dir

>>> os_dir('..')

['config.sys', 'debug', 'documents and settings', 'eclipse', 'freefallprotection.log', 'hiberfil.sys', 'hotfix', 'intel','program files', 'programdata', 'python27','system volume information', 'temp', 'users', 'windows']

>>> os_dir('.')

['dlls', 'doc', 'include', 'lib', 'libs', 'license.txt', 'music', 'mytest', 'news.txt', 'pil-wininst.log', 'python.exe', 'pythonw.exe', 'readme.txt', 'removepil.exe', 'removetrac.exe', 'removevideocapture.exe'...

] >>> dirname='c:\python27'

>>> os_dir(dirname)

['dlls', 'doc', 'include', 'lib', 'libs', 'license.txt', 'music', 'mytest', 'news.txt', 'pil-wininst.log', 'python.exe', 'pythonw.exe', 'readme.txt', 'removepil.exe', ...

] 【釋】可以看到,引入模組可以起乙個別名,os_dir 等等(乙個有意義的名字即可)。 ".." or '..\'當前目錄或檔案的父目錄的同級別目錄和檔案;"." or  

".\" 當前目錄下同級別目錄和檔案

>>> os.getcwd()

'c:\\python27'

【釋】getcwd 獲取當前工作目錄

>>> [f for f in os_dir(

os.getcwd()) if path.isfile(path.join(

os.getcwd(),f))]

['license.txt', 'news.txt', 'pil-wininst.log', 'python.exe', 'pythonw.exe', 'readme.txt', 'removepil.exe', 'removetrac.exe', 'removevideocapture.exe', 'trac-wininst.log', 'videocapture-wininst.log', 'w9xpopen.exe']

>>> [f for f in os_dir(

os.getcwd()) if path.isdir(path.join(

os.getcwd(),f))]

['dlls', 'doc', 'include', 'lib', 'libs', 'music', 'mytest', 'scripts', 'tcl', 'tools']

isfile 判斷檔案是否為檔案

isdir判斷檔案是否為目錄

islink判斷檔案是否為鏈結

isabs判斷檔案是否為絕對路徑

ismount判斷檔案是否為驅動器

python系統模組

python系統模組主要由sys和os承包,那麼區別主要在 呢?sys負責匯出與python直譯器本身相關的元件 os包含與python所在底層作業系統相對應的變數和函式glob 檔名擴充套件 socket 網路連線和程序間通訊 ipc threading,thread,queue 執行和同步化併發...

python 系統模組

一 os模組 參考文案 檔案屬性相關的函式 import os os.path.join 拼路徑 print os.path.join d movies a.mp4 os.path.exists 判斷目錄 檔案是否存在 os.path.dirname 獲取父目錄 os.path.abspath 根據...

python模組使用 python 模組發布及使用

將模組 此處名為nester 寫好後,與setup.py放入同乙個資料夾中 from distutils.core importsetup setup name 發布名,一般同模組名 version 版本號 py modules 模組列表 引數,其他引數根據需求新增 構建發布檔案 在資料夾下開啟終端...