کار با ماژول sys

  • مدرس: علی بیگدلی
  • تاریخ انتشار: 1402/05/04
  • تعداد بازدید: 1356

ماژول python sys توابع و متغیرهایی را ارائه می دهد که برای دستکاری قسمتهای مختلف محیط اجرای پایتون استفاده می شود. این به ما امکان می دهد به پارامترها و توابع خاص سیستم دسترسی پیدا کنیم.

اول ، ما باید ماژول sys را در برنامه خود قبل از اجرای هرگونه عملکرد وارد کنیم. که با import sys انجام می شود و سپس موارد را با یکدیگر بررسی خواهیم کرد.

sys.modules

این تابع نام ماژول های پایتون موجود را که وارد شده است فراهم می کند.

import sys
print(sys.modules)

sys.argv

این تابع لیستی از آرگومان های خط فرمان ارسال شده به یک اسکریپت پایتون را برمی گرداند. نام اسکریپت همیشه آیتم در شاخص 0 است و بقیه آرگومان ها در شاخص های بعدی ذخیره می شوند.

import sys
  
print("This is the name of the program:",sys.argv[0])
print("Number of elements including the name of the program:",len(sys.argv))
print("Number of elements excluding the name of the program:",(len(sys.argv)-1))
print("Argument List:",str(sys.argv))

sys.base_exec_prefix

این تابع روشی کارآمد برای همان مقادیر exec_prefix فراهم می کند. در صورت عدم اجرای یک محیط مجازی ، مقدار آن ثابت خواهد ماند.

>>> sys.base_exec_prefix
'C:\\Users\\AliBigdeli\\AppData\\Local\\Programs\\Python\\Python38'

 

sys.path

این تابع PYTHONPATH تنظیم شده در سیستم فعلی را نشان می دهد. این یک متغیر محیطی است که یک مسیر جستجو برای همه ماژول های پایتون است.

>>> sys.path
['C:/Users/AliBigdeli/Desktop', 'C:\\Users\\AliBigdeli\\AppData\\Local\\Programs\\Python\\Python38\\Lib\\idlelib', 'C:\\Users\\AliBigdeli\\AppData\\Local\\Programs\\Python\\Python38\\python38.zip', 'C:\\Users\\AliBigdeli\\AppData\\Local\\Programs\\Python\\Python38\\DLLs', 'C:\\Users\\AliBigdeli\\AppData\\Local\\Programs\\Python\\Python38\\lib', 'C:\\Users\\AliBigdeli\\AppData\\Local\\Programs\\Python\\Python38', 'C:\\Users\\AliBigdeli\\AppData\\Local\\Programs\\Python\\Python38\\lib\\site-packages']

 

sys.getrefcount

این تابع تعداد مرجع یک شی را برمی گرداند.

import sys
print(sys.getrefcount(55)) #9
 
var = 55
print(sys.getrefcount(55)) #10
 
var = var + 1
print(sys.getrefcount(55)) #9

sys.exit

این تابع برای خروج از کنسول Python یا خط فرمان استفاده می شود و همچنین در صورت استثنا برای خروج از برنامه استفاده می شود.

sys.executable

مقدار این تابع مسیر مطلق به یک مفسر پایتون است. برای دانستن محل نصب پایتون روی دستگاه شخص دیگری مفید است.

>>> sys.executable
'C:\\Users\\AliBigdeli\\AppData\\Local\\Programs\\Python\\Python38\\pythonw.exe'

sys.platform

از این مقدار این تابع برای شناسایی بستری که ما روی آن کار می کنیم استفاده می شود.

>>> sys.platform
'win32'