آموزش ماژول sys در پایتون

April 2020

در این ویدیو با ماژول sys در پایتون آشنا میشوید.

ماژول sys حاوی متغیرها و فانکشن‌های مربوط به مفسر پایتون است.  در اینجا با مهمترین این موارد آشنا خواهید شد.

دقیقا مانند هر ماژول دیگری در پایتون میتوانید با استفاده از فانکشن dir به مقادیر موجود دسترسی پیدا کنید:

import sys

>> dir(sys)

['__breakpointhook__', '__displayhook__', '__doc__', '__excepthook__', '__interactivehook__', '__loader__', '__name__', '__package__', '__spec__', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_debugmallocstats', '_framework', '_getframe', '_git', '_home', '_xoptions', 'abiflags', 'api_version', 'argv', 'base_exec_prefix', 'base_prefix', 'breakpointhook', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dont_write_bytecode', 'exc_info', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'float_repr_style', 'get_asyncgen_hooks', 'get_coroutine_origin_tracking_depth', 'get_coroutine_wrapper', 'getallocatedblocks', 'getcheckinterval', 'getdefaultencoding', 'getdlopenflags', 'getfilesystemencodeerrors', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'getswitchinterval', 'gettrace', 'hash_info', 'hexversion', 'implementation', 'int_info', 'intern', 'is_finalizing', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'set_asyncgen_hooks', 'set_coroutine_origin_tracking_depth', 'set_coroutine_wrapper', 'setcheckinterval', 'setdlopenflags', 'setprofile', 'setrecursionlimit', 'setswitchinterval', 'settrace', 'stderr', 'stdin', 'stdout', 'thread_info', 'version', 'version_info', 'warnoptions']

با استفاده از متغیر path میتوانید به مسیرهایی که مسفر پایتون برای وارد کردن ماژولهای دیگر استفاده میکند دسترسی داشته باشید. هر وقت ماژولی را وارد می کنید یا برنامه ای را با استفاده از یک مسیر نسبی اجرا می کنید ، مترجم پایتون با استفاده از متغیر path ، ماژول یا اسکریپت لازم را جستجو می کند:

>> sys.path


['/home/amir/Desktop/pyaparat', '/home/amir/Desktop/pyaparat', '/usr/lib/python37.zip', '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload', '/home/amir/Desktop/pyaparat/venv/lib/python3.7/site-packages']

متغیر maxsize بزرگترین عددی که میتوانید ذخیره کنید را نشان میدهد. این عدد معمولا  2 به توان 31 - 1 در سیستمهای 32 بیتی و 2 به توان 63 - 1 در سیستمهای ۶۴ بیتی است:

>> sys.maxsize

9223372036854775807

متغیر executable مشخص کننده مفسر پایتونی است که در حال حاضر فعال است:

>> sys.executable

/home/user/Desktop/myproject/venv/bin/python

با استفاده از متغیر platform میتوانید نوع سیستم عامل را بفهمید:

>> sys.platform

linux

متغیر version نسخه پایتون را نشان میدهد:

>> sys.version

3.7.5 (default, Apr 19 2020, 20:18:17) 

با استفاده از متد exit() میتوانید برنامه را از حالت اجرا خارج کنید:

import time
import sys

if sys.platform == 'linux':
    sys.exit()
else:
    time.sleep(5)

و با استفاده از argv میتوانید متغیرهایی که در زمان اجرای برنامه توسط کاربر ارسال میشوند را دریافت کنید:

if sys.argv[1] == 'admin':
    print('Hello admin')
else:
    sys.exit()


$ python test.py admin


Hello admin

 

ارسال نظر

اگر قراره سوالی بپرسید که داخلش کد هست، بهتره از کدتون عکس بگیرید و به ایمیلی که پایین نوشتم بفرستید