天天看點

python使用platform子產品擷取系統環境并去除換行符

近來在porting一個網站,企圖拿到這個網站的資料來做分析。為了支援多系統環境的正常運作。需要知道目前系統環境的是什麼OS?

1.python内置platform庫。可以很友善得到目前系統環境時什麼OS系統。

import platform
print platform.system() #擷取作業系統環境
print platform.platform() #擷取作業系統名稱及版本号
print platform.version() #擷取作業系統版本号
print platform.architecture()#擷取作業系統的位數
print platform.machine()#計算機類型
print platform.node() #計算機的網絡名稱
print platform.processor() #計算機處理器資訊
help(platform)#太多了不一一個列舉,求幫助

>>>
Windows
Windows-7-6.1.7601-SP1
6.1.7601
('32bit', 'WindowsPE')
x86
szdliunx
x86 Family 6 Model 58 Stepping 9, GenuineIntel      

2.去除換行符。

不知道大家對換行符有多少了解?先簡單介紹下,不同的作業系統,換行符的定義。

Unix/Linux系統裡,每行結尾隻有“<換行>”,即“\n”;

Windows系統裡面,每行結尾是“<回車><換行>”,即“\r\n”;

Mac系統裡,每行的結尾是“"<回車>”,即“\r”.

對于換行這個動作,unix/Linux環境下一般隻有一個0x0A表示換行("\n"),windows下一般都是0x0D和0x0A兩個字元("\r\n"),蘋果機(MAC OS系統)則采用回車符CR 0x0D表示下一行(\r).

3.最終的代碼。

if platform.system() == "Windows":
        f.write((data.get_text().strip('\r\n')))
    elif platform.system() == "Linux":
        f.write((data.get_text().strip('\n')))
    else:#for mac os
        f.write((data.get_text().strip('\r')))