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

امیرحسین بیگدلو April 2023

در این ویدیو با ماژول 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

 

ویدیوهای مشابه



ارسال نظر


خلیل رضائی

1 سال قبل پاسخ به نظر

سلام خدا قوت اقای مهندس , من دنبال اموزش داندر های hash , reduce , reduce_ex,module,subclasshok,sizeof,weakref,format
, doc,dir , dic
هستم ، این اموزشا داخل سایت شما هست؟ چون جستوجوکردم چیزی پیدا نکردم.

ارسال نظر



امیرحسین بیگدلو

1 سال قبل

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

حامد شجاعی

1 سال قبل پاسخ به نظر

خیلی عالی بود ممنون

ارسال نظر



سوال؟

2 سال قبل پاسخ به نظر

چرا دانلود نمیشه

ارسال نظر



SaLaR

3 سال قبل پاسخ به نظر

بسیار مفید بود
خدا قوت

ارسال نظر



SHBHH

3 سال قبل پاسخ به نظر

خیلی عالی بود مرسی
لطفا آموزش ماژول socket هم بزارید.

ارسال نظر



امیرحسین بیگدلو

3 سال قبل

سلام
ماژول socket پایتون نیاز به یه دوره کامل داره که برای اون هم اگر خدا بخواد دوره قرار خواهم داد

مونگارد