python sys模組之獲取引數

2021-09-24 10:50:31 字數 2198 閱讀 5815

sys模組:全稱system,指的是直譯器。

常用操作,用於接收系統作業系統呼叫直譯器傳入的引數

1 sys.ar**

獲取指令碼傳遞的所有引數,返回乙個列表。列表中的所有元素均為指令碼傳遞的引數。

sys.ar**[0] # 指令碼傳遞的第乙個引數,固定為指令碼名稱,可以通過次方式獲得指令碼名稱

可以使用索引依次獲得指令碼傳遞的其他引數

2 sys.version

獲取直譯器的版本資訊,返回乙個字串。根據python版本編寫符合不同版本的程式 使程式可相容

3.6.4 (default, aug 10 2018, 11:14:49) 

[gcc 4.8.5 20150623 (red hat 4.8.5-11)]

可以通過字串的切片特性得到直譯器的版本號: print(sys.version[:5]

import sys

print(sys.version)

print(type(sys.version))

print(sys.version[:5])

#輸出結果:

3.6.4 (default, aug 10 2018, 11:14:49)

[gcc 4.8.5 20150623 (red hat 4.8.5-11)]

3.6.4

3 sys.platform

獲取當前作業系統。可以判斷當前所處的系統環境,實現跨平台:

示例:

if sys.platform == 'linux':

os.system(linux系統命令)

else:

os.system(其他系統命令)

應用練習:

編寫指令碼:compare.py。再命令列中執行 python 檔案1 檔案2 輸出顯示兩個檔案的不同之處。

mport difflib

import sys

parameter = sys.ar**

with open(parameter[1])as f1,open(parameter[2])as f2:

file1 = f1.read().splitlines(keepends=true)

file2 = f2.read().splitlines(keepends=true)

diff = difflib.differ()

diff_result = diff.compare(file1,file2)

print(''.join(list(diff_result)))

執行結果:

[kiosk@foundation47 time]$ python3 compare.py /public/passwd1 /public/passwd2

- root:x:0:0:root:/root:/bin/bash

+ rooter:x:0:0:rooter:/rooter:/bin/bash

? ++ ++ ++

bin:x:1:1:bin:/bin:/sbin/nologin

+ daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

- lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

- operator:x:11:0:operator:/root:/sbin/nologin

+ operator:x:11:0:operator:/rooter:/sbin/nologin

? ++

- mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

python sys模組之獲取引數

什麼是sys模組?sys模組 全稱system,指的是直譯器 os指的是作業系統 常用操作,用於接收系統作業系統呼叫直譯器傳入的引數 1 sys.ar 獲取指令碼傳遞的所有引數,返回乙個列表。列表中的所有元素均為指令碼傳遞的引數。sys.ar 0 指令碼傳遞的第乙個引數,固定為指令碼名稱,可以通過次...

Python sys模組總結

1.sys.argv 實現從程式外部向程式內部傳遞引數 import sys print sys.argv print 取第乙個值為 end print sys.argv 0 2.sys.exit 退出程式執行 import sys for i in range 5 print i if i 2 當...

python sys模組(基礎篇)

我們可以程式中定義一次函式而實現 重用。我們可以使用模組,從而實現在其他程式中重用很多函式。模組基本上就是乙個包含了所有你定義的函式和變數的檔案。為了在其他程式中重用模組,模組的檔名必須以.py為副檔名。模組可以從其他程式 匯入 以便利用它的功能。這也是我們使用python標準庫的方法。using ...