Python 判斷當前作業系統型別的模組

Galois發表於2020-10-11

判斷作業系統型別

import platform
def TestPlatform():
    print(platform.version(),#  獲取Python版本
        platform.python_version(),# 獲取作業系統可執行程式的結構
        platform.node(),# 計算機的網路名稱
        platform.platform(),# 獲取作業系統名稱及版本號
        platform.python_build(),# 計算機處理器資訊
        platform.python_compiler(),# 獲取作業系統中Python的構建日期
        )
    if platform.python_branch()=="":
        print(platform.python_implementation())
        print(platform.python_revision())
    print(platform.release())
    print(platform.system())# 獲取作業系統的版本
    print(platform.uname())# 包含上面所有的資訊彙總

def UsePlatform():
    sysstr = platform.system()
    if(sysstr =="Windows"):
        print ("Call Windows tasks")
    elif(sysstr == "Linux"):
        print ("Call Linux tasks")
    else:
        print ("Other System tasks")

if __name__ == "__main__":
    TestPlatform()
    UsePlatform()

OS 模組

Python 的標準庫中的 os 模組主要涉及普遍的作業系統功能。可以在 Linux 和 Windows 下執行,與平臺無關。
os.sep 可以取代作業系統特定的路徑分割符。
os.name 字串指示你正在使用的平臺。比如對於 Windows,它是 ‘nt’,而對於 Linux/Unix 使用者,它是 ‘posix’。
os.getcwd() 函式得到當前工作目錄,即當前 Python 指令碼工作的目錄路徑。
os.getenv()os.putenv() 函式分別用來讀取和設定環境變數。
os.listdir() 返回指定目錄下的所有檔案和目錄名。
os.remove() 函式用來刪除一個檔案。
os.system() 函式用來執行 shell 命令。
os.linesep 字串給出當前平臺使用的行終止符。例如,Windows 使用 ‘\r\n’,Linux 使用 ‘\n’ 而 Mac 使用 ‘\r’。
os.path.split() 函式返回一個路徑的目錄名和檔名。
os.path.isfile()os.path.isdir() 函式分別檢驗給出的路徑是一個檔案還是目錄。
os.path.existe() 函式用來檢驗給出的路徑是否真地存在
os 和 os.path 模組。
os.listdir(dirname) 列出 dirname 下的目錄和檔案。
os.getcwd() 獲得當前工作目錄。
os.curdir 返回但前目錄(’.’)。
os.chdir(dirname) 改變工作目錄到 dirname。
os.path.isdir(name) 判斷 name 是不是一個目錄,name 不是目錄就返回 false。
os.path.isfile(name) 判斷 name 是不是一個檔案,不存在 name 也返回 false。
os.path.exists(name) 判斷是否存在檔案或目錄 name。
os.path.getsize(name) 獲得檔案大小,如果 name 是目錄返回 0L。
os.path.abspath(name) 獲得絕對路徑。
os.path.normpath(path) 規範 path 字串形式。
os.path.split(name) 分割檔名與目錄(事實上,如果你完全使用目錄,它也會將最後一個目錄作為檔名而分離,同時它不會判斷檔案或目錄是否存在)。
os.path.splitext() 分離檔名與副檔名。
os.path.join(path,name) 連線目錄與檔名或目錄。
os.path.basename(path) 返回檔名。
os.path.dirname(path) 返回檔案路徑。

Sys 模組

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.stdinsys.stdoutsys.stderrstdinstdout,以及 stderr變數包含與標準 I/O 流對應的流物件。如果需要更好地控制輸出,而 print 不能滿足你的要求,它們就是你所需要的。你也可以替換它們,這時候你就可以重定向輸出和輸入到其它裝置(device),或者以非標準的方式處理它們。

本作品採用《CC 協議》,轉載必須註明作者和本文連結
不要試圖用百米衝刺的方法完成馬拉松比賽。

相關文章