Tgħallem Python Sys Modulu


F'dan l-artikolu, se nagħtu ħarsa lejn il-Python Sys Module. Hemm varjabbli u funzjonijiet li jinżammu mill-interpretu u l-modulu sys jipprovdi mod kif jinteraġixxu magħhom. Dawn il-varjabbli huma disponibbli sakemm l-interpretu jkun ħaj. Se nagħtu daqqa t'għajn lejn xi wħud mill-funzjonijiet tas-sys użati b'mod komuni.

Biex taħdem mal-modulu sys trid l-ewwel timporta l-modulu.

sys.version - Dan jaħżen l-informazzjoni dwar il-verżjoni attwali ta 'python.

$ python3
>>> import sys
>>> sys.version

sys.path – Il-varjabbli tal-passaġġ jaħżen il-mogħdija tad-direttorju fil-forma ta’ lista ta’ kordi. Kull meta timporta modulu jew tmexxi programm billi tuża mogħdija relattiva, l-interpretu python ifittex il-modulu jew l-iskrittura meħtieġ billi juża l-varjabbli tal-passaġġ.

L-indiċi tal-mogħdija jaħżen id-direttorju li fih l-iskrittura li ntuża biex jinvoka l-interpretu Python fl-indiċi \Żero. Jekk l-interpretu jiġi invokat b'mod interattiv jew jekk l-iskrittura tinqara minn input standard, mogħdija[0] tkun string vojta.

>>> sys.path

Meta tinvoka l-iskrittura l-mogħdija[0] taħżen il-mogħdija tad-direttorju.

$ vim 1.py
$ python3 1.py

Jekk għandek moduli f'direttorju tad-dwana allura tista 'żżid il-mogħdija tad-direttorju mal-varjabbli tal-passaġġ billi tuża metodu path.append() (billi l-mogħdija hija oġġett tal-lista qed nużaw il-metodu tal-lista \append).

$ python3
>>> import sys
>>> sys.path
>>> sys.path.append('/root/test/')
>>> sys.path

sys.argv – argv jintuża biex jgħaddi argumenti tal-ħin tar-run lill-programm python tiegħek. Argv hija lista li taħżen l-isem tal-iskript bħala l-ewwel valur segwit mill-argumenti li ngħaddu. Il-valuri Argv huma maħżuna bħala string tat-tip u trid tikkonverti b'mod espliċitu skont il-bżonnijiet tiegħek.

>>> sys.argv

Meta tmexxi taħt is-snippet, il-valur finali tal-funzjoni tal-firxa jgħaddi permezz ta' sys.argv[1] bħala 10 u ftit valuri oħra jiġu mgħoddija wkoll biex tiġi stampata l-lista tal-valuri argv fl-aħħar tal-programm.

#!/usr/bin/python3

import sys

for x in range(1,int(sys.argv[1])):
    print(x)
    
# Print all the arguments passed
print("Arguments passed:",sys.argv)

sys.executable – Tipprintja l-mogħdija assoluta tal-binarju tal-interpretu Python.

>>> sys.executable
'/usr/bin/python3'

sys.platform – Tipprintja t-tip tal-pjattaforma os. Din il-funzjoni tkun utli ħafna meta tmexxi l-programm tiegħek bħala dipendenti fuq il-pjattaforma.

>>> sys.platform
'linux'

sys.exit – Ħruġ mill-interpretu billi tgħolli SystemExit(status). B'mod awtomatiku, l-istatus jingħad li huwa Żero u jingħad li jirnexxi. Nistgħu jew nużaw valur sħiħ bħala Status ta 'Ħruġ jew tipi oħra ta' oġġetti bħal string(\falla) kif muri fl-eżempju hawn taħt.

Taħt il-kampjun, tintuża snippet biex tivverifika jekk il-pjattaforma hijiex twieqi u mbagħad iħaddem il-kodiċi. Jekk le jgħollu l-funzjoni tal-ħruġ().

#!/usr/bin/python3

import sys

if sys.platform == 'windows':  # CHECK ENVIRONMENT
    #code goes here
    pass
else:
    print("This script is intended to run only on Windows, Detected platform: ", sys.platform)
    sys.exit("Failed")

sys.maxsize – Dan huwa valur sħiħ li jirrappreżenta l-valur massimu li varjabbli jista' jżomm.

On a 32-bit platform it is 2**31 - 1 
On a 64-bit platform it is 2**63 - 1

Rajna xi wħud mill-funzjonijiet importanti tal-modulu sys u hemm ħafna aktar funzjonijiet. Sakemm noħorġu bl-artiklu li jmiss tista 'taqra aktar dwar il-modulu sys hawn.