1. 程式人生 > 其它 >Python3中sys模組常用方法

Python3中sys模組常用方法

sys模組是程式碼與Python直譯器進行互動的模組,常見用法如下:

獲取Python相關資訊

import sys

print('當前平臺', sys.platform)
print('當前Python版本‘, sys.version)
print('預設編碼格式‘,sys.getdefaultencoding())
print('所有系統模組‘,sys.moudules)
print('匯入模組及包的查詢路徑', sys.path)

新增模組匯入查詢路徑

假設我們需要將當前指令碼所在目錄到人到模組查詢路徑sys.path中去

import sys

root_path = os.path.dirname(__file__)  # __file__代表當前指令碼檔案, os.path.dirname()為獲取其所在目錄
sys.path.append(root_path)  # 或者 sys.path.insert(0, root_path) 即插入到最前面

直接向系統標準輸入輸出流讀寫資料

可以使用sys.stdout.write()和sys.stdin.read()來代替print()即input方法,例如:

import sys
sys.stdout.write('清輸入一個數字:')
a = sys.stdin.read(1)
sys.stdout.write('輸入的數字為:%s\n' % a)

獲取指令碼命令列執行指令碼

可以使用sys.argv獲取指令碼路徑及命令列引數,結果為一個列表,第一項是指令碼路徑,後面是命令列執行時指定的引數(如果有),例如,指令碼demo.py內容如下:

import sys

print('指令碼路徑', sys.argv[0])
if len(sys.argv) > 1:
    print('指令碼後引數為', sys.argv[1:])
print('無引數')

在命令列執行 python demo.py start
執行結果如下:

指令碼路徑 demo.py
指令碼後引數為 ['hello']