Python 3.7

sys - सिस्टम-विशिष्ट पैरामीटर और फ़ंक्शन




python

sys - सिस्टम-विशिष्ट पैरामीटर और फ़ंक्शन

यह मॉड्यूल दुभाषिया द्वारा उपयोग किए गए या बनाए गए कुछ चर तक पहुंच प्रदान करता है और दुभाषिया के साथ दृढ़ता से बातचीत करने वाले कार्यों के लिए। यह हमेशा उपलब्ध है।

sys.abiflags

POSIX प्रणालियों पर जहां पायथन को मानक configure स्क्रिप्ट के साथ बनाया गया था, इसमें PEP 3149 द्वारा निर्दिष्ट ABI झंडे शामिल हैं।

संस्करण 3.2 में नया।

sys.argv

कमांड लाइन के तर्कों की सूची पायथन लिपि को दी गई। argv[0] स्क्रिप्ट नाम है (यह ऑपरेटिंग सिस्टम निर्भर करता है कि यह एक पूर्ण पथनाम है या नहीं)। यदि कमांड को इंटरप्रेटर में -c कमांड लाइन विकल्प का उपयोग करके निष्पादित किया गया था, तो argv[0] स्ट्रिंग '-c' सेट है। यदि पायथन दुभाषिया के लिए कोई स्क्रिप्ट नाम नहीं दिया गया था, तो argv[0] खाली स्ट्रिंग है।

मानक इनपुट, या कमांड लाइन पर दी गई फाइलों की सूची को देखने के लिए, fileinput मॉड्यूल देखें।

sys.base_exec_prefix

साइट site.py चलाने से पहले Python स्टार्टअप के दौरान सेट करें, site.py के समान मान पर। यदि आभासी वातावरण में नहीं चल रहा है , तो मान समान रहेंगे; यदि साइट site.py पता चलता है कि वर्चुअल वातावरण उपयोग में है, तो prefix और exec_prefix का मान बदलकर वर्चुअल एनवायरनमेंट को इंगित किया जाएगा, जबकि base_prefix और base_exec_prefix बेस पाइथन इंस्टॉलेशन की ओर इशारा करते रहेंगे (जो वर्चुअल वातावरण बनाया गया था) से)।

संस्करण 3.3 में नया।

sys.base_prefix

साइट site.py चलाने से पहले पायथन स्टार्टअप के दौरान सेट करें, prefix के समान मूल्य पर। यदि आभासी वातावरण में नहीं चल रहा है , तो मान समान रहेंगे; यदि साइट site.py पता चलता है कि वर्चुअल वातावरण उपयोग में है, तो prefix और exec_prefix का मान बदलकर वर्चुअल एनवायरनमेंट को इंगित किया जाएगा, जबकि base_prefix और base_exec_prefix बेस पाइथन इंस्टॉलेशन की ओर इशारा करते रहेंगे (जो वर्चुअल वातावरण बनाया गया था) से)।

संस्करण 3.3 में नया।

sys.byteorder

देशी बाइट क्रम का एक संकेतक। यह बड़े-एंडियन (सबसे महत्वपूर्ण बाइट पहले) प्लेटफार्मों पर 'big' और छोटे-एंडियन (कम से कम महत्वपूर्ण बाइट पहले) प्लेटफार्मों पर 'little'

sys.builtin_module_names

इस पाइथन दुभाषिया में संकलित सभी मॉड्यूल के नाम देने वाले तारों का एक समूह। (यह जानकारी किसी भी अन्य तरीके से उपलब्ध नहीं है - modules.keys() केवल आयातित मॉड्यूल को सूचीबद्ध करता है।)

sys.call_tracing(func, args)

कॉल func(*args) , जबकि ट्रेसिंग सक्षम है। ट्रेसिंग स्थिति को सहेजा जाता है, और बाद में पुनर्स्थापित किया जाता है। यह एक चेकपॉइंट से डिबगर से किसी अन्य कोड को पुन: डिबग करने के लिए कहा जाता है।

sys.copyright

एक स्ट्रिंग जिसमें कॉपीराइट पायथन दुभाषिया से संबंधित है।

sys._clear_type_cache()

आंतरिक प्रकार कैश साफ़ करें। प्रकार कैश का उपयोग विशेषता और विधि लुकअप को गति देने के लिए किया जाता है। संदर्भ रिसाव डिबगिंग के दौरान अनावश्यक संदर्भों को छोड़ने के लिए फ़ंक्शन का उपयोग करें।

इस फ़ंक्शन का उपयोग केवल आंतरिक और विशेष प्रयोजनों के लिए किया जाना चाहिए।

sys._current_frames()

उस थ्रेड को वर्तमान में सक्रिय उस थ्रेड के शीर्ष पर प्रत्येक थ्रेड पहचानकर्ता को मैप करते हुए एक शब्दकोश लौटाएं, जिसे फ़ंक्शन कहा जाता है। ध्यान दें कि traceback मॉड्यूल में कार्य ऐसे फ्रेम दिए गए कॉल स्टैक का निर्माण कर सकते हैं।

गतिरोध को हटाने के लिए यह सबसे उपयोगी है: इस फ़ंक्शन को डेडलॉक किए गए थ्रेड्स के सहयोग की आवश्यकता नहीं होती है, और जब तक वे डेडलॉक रहते हैं तब तक थ्रेड्स के कॉल स्टैक जमे हुए हैं। एक गैर-डेडलॉक किए गए थ्रेड के लिए दिया गया फ़्रेम उस थ्रेड की वर्तमान गतिविधि से कोई संबंध नहीं रख सकता है जब तक कि कॉलिंग कोड फ़्रेम की जांच करता है।

इस फ़ंक्शन का उपयोग केवल आंतरिक और विशेष प्रयोजनों के लिए किया जाना चाहिए।

sys.breakpointhook()

यह हुक फ़ंक्शन अंतर्निहित breakpoint() द्वारा कहा जाता है। डिफ़ॉल्ट रूप से, यह आपको pdb डीबगर में छोड़ देता है, लेकिन इसे किसी अन्य फ़ंक्शन पर सेट किया जा सकता है ताकि आप यह चुन सकें कि कौन सा डीबगर उपयोग किया जाता है।

इस फ़ंक्शन का हस्ताक्षर इस बात पर निर्भर है कि इसे क्या कहा जाता है। उदाहरण के लिए, डिफ़ॉल्ट बाइंडिंग (जैसे pdb.set_trace() ) कोई तर्क की अपेक्षा नहीं करता है, लेकिन आप इसे ऐसे फ़ंक्शन से जोड़ सकते हैं जो अतिरिक्त तर्क (स्थिति और / या कीवर्ड) की अपेक्षा करता है। अंतर्निहित breakpoint() फ़ंक्शन अपने *args और **kws माध्यम से सीधे गुजरता है। breakpointhooks() जो भी रिटर्न हो breakpointhooks() वापस किया जाता है।

डिफ़ॉल्ट कार्यान्वयन पहले पर्यावरण चर PYTHONBREAKPOINT । यदि वह "0" सेट है, तो यह फ़ंक्शन तुरंत लौटता है; यानी यह नो-ऑप है। यदि पर्यावरण चर सेट नहीं है, या खाली स्ट्रिंग पर सेट किया गया है, तो pdb.set_trace() कहा जाता है। अन्यथा इस चर को चलाने के लिए एक फ़ंक्शन का नाम होना चाहिए, पायथन के बिंदीदार-आयात नामकरण का उपयोग करके, उदाहरण के लिए package.subpackage.module.function । इस स्थिति में, package.subpackage.module आयात किया जाएगा और परिणामस्वरूप मॉड्यूल में कॉल करने योग्य function() होना चाहिए। यह चलाया जाता है, *args और **kws में गुजर रहा है, और जो भी function() देता है, sys.breakpointhook() अंतर्निहित breakpoint() फ़ंक्शन पर लौटता है।

ध्यान दें कि अगर PYTHONBREAKPOINT नाम के PYTHONBREAKPOINT करने योग्य को आयात करते समय कुछ भी गलत PYTHONBREAKPOINT , तो एक RuntimeWarning को सूचित किया जाता है और ब्रेकपॉइंट को अनदेखा किया जाता है।

यह भी ध्यान दें कि यदि sys.breakpointhook() प्रोग्रामेटिक रूप से ओवरराइड किया जाता है, तो PYTHONBREAKPOINT से परामर्श नहीं किया जाता है।

संस्करण 3.7 में नया।

sys._debugmallocstats()

सीपीथॉन के स्मृति आवंटनकर्ता के राज्य के बारे में जानकारी के लिए निम्न स्तर की जानकारी प्रिंट करें।

यदि पायथन कॉन्फ़िगर किया गया है, तो इसके अलावा, यह कुछ महंगी आंतरिक स्थिरता जांच भी करता है।

संस्करण 3.3 में नया।

CPython कार्यान्वयन विवरण: यह फ़ंक्शन CPython के लिए विशिष्ट है। सटीक आउटपुट प्रारूप यहां परिभाषित नहीं है, और बदल सकता है।

sys.dllhandle

पायथन डीएलएल के हैंडल को निर्दिष्ट करने वाला इंटेगर। उपलब्धता: विंडोज।

sys.displayhook(value)

यदि मान कोई None , तो यह फ़ंक्शन sys.stdout को repr(value) प्रिंट करता है, और sys.stdout में मान बचाता है। यदि repr(value) sys.stdout.encoding साथ sys.stdout.errors त्रुटि हैंडलर (जो शायद 'strict' ) के लिए sys.stdout.encoding , तो इसे 'backslashreplace' त्रुटि हैंडलर से sys.stdout.encoding पर sys.stdout.encoding करें।

sys.displayhook एक इंटरैक्टिव पायथन सत्र में दर्ज expression का मूल्यांकन करने के परिणाम पर कहा जाता है। इन मूल्यों के प्रदर्शन को sys.displayhook एक और एक-तर्क फ़ंक्शन असाइन करके अनुकूलित किया जा सकता है।

छद्म कोड:

def displayhook(value):
    if value is None:
        return
    # Set '_' to None to avoid recursion
    builtins._ = None
    text = repr(value)
    try:
        sys.stdout.write(text)
    except UnicodeEncodeError:
        bytes = text.encode(sys.stdout.encoding, 'backslashreplace')
        if hasattr(sys.stdout, 'buffer'):
            sys.stdout.buffer.write(bytes)
        else:
            text = bytes.decode(sys.stdout.encoding, 'strict')
            sys.stdout.write(text)
    sys.stdout.write("\n")
    builtins._ = value

संस्करण 3.2 में बदला गया: UnicodeEncodeError पर 'backslashreplace' UnicodeEncodeError 'backslashreplace' त्रुटि हैंडलर का उपयोग करें।

sys.dont_write_bytecode

यदि यह सही है, तो पायथन स्रोत मॉड्यूल के आयात पर .pyc फाइलें लिखने का प्रयास नहीं करेगा। यह मान प्रारंभ में -B कमांड लाइन विकल्प और PYTHONDONTWRITEBYTECODE पर्यावरण चर के आधार पर True या False पर सेट होता है, लेकिन आप इसे bytecode फ़ाइल पीढ़ी को नियंत्रित करने के लिए स्वयं सेट कर सकते हैं।

sys.excepthook(type, value, traceback)

यह फ़ंक्शन किसी दिए गए ट्रेसबैक और sys.stderr अपवाद को sys.stderr

जब एक अपवाद को उठाया जाता है और sys.excepthook जाता है, तो दुभाषिया sys.excepthook को तीन तर्कों, अपवाद वर्ग, अपवाद उदाहरण और एक ट्रेसबैक ऑब्जेक्ट के साथ कॉल sys.excepthook । एक संवादात्मक सत्र में नियंत्रण पर वापस लौटने से ठीक पहले ऐसा होता है; पायथन कार्यक्रम में यह कार्यक्रम से बाहर निकलने से ठीक पहले होता है। ऐसे शीर्ष-स्तरीय अपवादों की हैंडलिंग को sys.excepthook को एक अन्य तीन-तर्क फ़ंक्शन असाइन करके अनुकूलित किया जा सकता है।

sys.__breakpointhook__
sys.__displayhook__
sys.__excepthook__

इन ऑब्जेक्ट्स में प्रोग्राम के शुरू में breakpointhook , excepthook और excepthook के मूल मान शामिल हैं। उन्हें बचाया जाता है ताकि टूटने या वैकल्पिक वस्तुओं के साथ प्रतिस्थापित होने के मामले में breakpointhook , excepthook और excepthook को बहाल किया जा सके।

संस्करण 3.7 में नया: __breakpointhook__

sys.exc_info()

यह फ़ंक्शन तीन मानों का एक टपल देता है जो उस अपवाद के बारे में जानकारी देता है जो वर्तमान में नियंत्रित किया जा रहा है। लौटाई गई जानकारी वर्तमान थ्रेड और वर्तमान स्टैक फ्रेम दोनों के लिए विशिष्ट है। यदि वर्तमान स्टैक फ्रेम एक अपवाद को संभाल नहीं रहा है, तो कॉलिंग स्टैक फ्रेम, या उसके कॉलर से जानकारी ली जाती है, और इसी तरह जब तक एक स्टैक फ्रेम नहीं मिलता है जो एक अपवाद को संभाल रहा है। यहां, "एक अपवाद को संभालना" को "एक अपवाद को छोड़कर निष्पादित करना" के रूप में परिभाषित किया गया है। किसी भी स्टैक फ्रेम के लिए, केवल उस अपवाद के बारे में जानकारी जो वर्तमान में संभाला जा रहा है, सुलभ है।

यदि स्टैक पर कहीं भी कोई अपवाद नहीं संभाला जा रहा है, तो एक टपल जिसमें तीन None मान वापस आ गया है अन्यथा, लौटाए गए मान हैं (type, value, traceback) । उनका अर्थ है: प्रकार को अपवादित किए जाने का प्रकार मिलता है ( BaseException का एक उपवर्ग); मान अपवाद अपवाद (अपवाद प्रकार का एक उदाहरण) प्राप्त करता है; ट्रेसबैक को एक ट्रेसबैक ऑब्जेक्ट (संदर्भ मैनुअल देखें) मिलता है जो कॉल स्टैक को उस बिंदु पर एन्क्रिप्ट करता है जहां मूल रूप से अपवाद हुआ था।

sys.exec_prefix

साइट-विशिष्ट निर्देशिका उपसर्ग देने वाली एक स्ट्रिंग जहां प्लेटफ़ॉर्म-निर्भर पायथन फाइलें स्थापित की जाती हैं; डिफ़ॉल्ट रूप से, यह '/usr/local' । इसे कॉन्फ़िगर स्क्रिप्ट में --exec-prefix तर्क के साथ बिल्ड समय पर सेट किया जा सकता है। विशेष रूप से, सभी कॉन्फ़िगरेशन फ़ाइलें (जैसे pyconfig.h हैडर फ़ाइल) डायरेक्टरी exec_prefix /lib/python X.Y /config में स्थापित की जाती हैं, और साझा लाइब्रेरी मॉड्यूल exec_prefix /lib/python X.Y /lib-dynload , जहाँ XY होता है। उदाहरण के लिए पायथन का संस्करण संख्या 3.2

ध्यान दें

यदि कोई वर्चुअल वातावरण प्रभाव में है, तो वर्चुअल वातावरण को इंगित करने के लिए इस मान को साइट site.py में बदल दिया जाएगा। पायथन इंस्टॉलेशन का मान अभी भी base_exec_prefix माध्यम से उपलब्ध होगा।

sys.executable

पायथन दुभाषिया के लिए निष्पादन योग्य बाइनरी का निरपेक्ष पथ देने वाला एक स्ट्रिंग, सिस्टम पर जहां यह समझ में आता है। यदि पायथन अपने निष्पादन योग्य वास्तविक पथ को प्राप्त करने में असमर्थ है, तो sys.executable एक खाली स्ट्रिंग या None

sys.exit([arg])

पायथन से बाहर निकलें। यह SystemExit अपवाद को लागू करके कार्यान्वित किया SystemExit है, इसलिए अंत में try विवरणों के खंड द्वारा निर्दिष्ट क्लीनअप क्रियाओं को सम्मानित किया जाता है, और बाहरी स्तर पर निकास प्रयास को रोकना संभव है।

वैकल्पिक तर्क arg एक पूर्णांक से बाहर निकलने की स्थिति (शून्य में डिफ़ॉल्ट), या किसी अन्य प्रकार की वस्तु दे सकता है। यदि यह पूर्णांक है, तो शून्य को "सफल समाप्ति" माना जाता है और किसी भी गैर-अक्षीय मान को गोले और इसी तरह "असामान्य समाप्ति" माना जाता है। अधिकांश प्रणालियों को इसकी सीमा ०-१२ and तक होनी चाहिए, और अन्यथा अपरिभाषित परिणाम उत्पन्न करना चाहिए। कुछ प्रणालियों में विशिष्ट निकास कोड के लिए विशिष्ट अर्थ निर्दिष्ट करने के लिए एक सम्मेलन होता है, लेकिन ये आमतौर पर अविकसित होते हैं; यूनिक्स प्रोग्राम आमतौर पर कमांड लाइन सिंटैक्स त्रुटियों के लिए 2 और अन्य सभी प्रकार की त्रुटियों के लिए 1 का उपयोग करते हैं। यदि किसी अन्य प्रकार की वस्तु को पास किया जाता है, तो None शून्य पास करने के बराबर None है, और किसी भी अन्य वस्तु को stderr प्रिंट किया stderr और 1 के बाहर निकलने के कोड में परिणाम होता है। विशेष रूप से, sys.exit("some error message") एक त्वरित तरीका है जब कोई त्रुटि होती है तो प्रोग्राम से बाहर निकलें।

चूंकि exit() अंततः "केवल" एक अपवाद उठाता है, यह केवल प्रक्रिया से बाहर निकल जाएगा जब मुख्य धागे से बुलाया जाता है, और अपवाद को बाधित नहीं किया जाता है।

संस्करण 3.6 में परिवर्तित: यदि पायथन इंटरप्रेटर ने SystemExit (जैसे मानक धाराओं में बफ़र किए गए डेटा को SystemExit त्रुटि) पकड़ा है, तो निकास स्थिति 120 में बदल जाती है।

sys.flags

संरचना अनुक्रम झंडे कमांड लाइन झंडे की स्थिति को उजागर करता है। गुण केवल पढ़े जाते हैं।

गुण झंडा
debug -d
inspect -i
interactive -i
optimize -O या -OO
dont_write_bytecode -B
no_user_site -s
no_site -S
ignore_environment -E
verbose -v
bytes_warning -b
quiet -q
hash_randomization -R
dev_mode -X dev
utf8_mode -X utf8

संस्करण 3.2 में बदला: नए -q ध्वज के लिए जोड़ा गया quiet विशेषता।

संस्करण 3.2.3 में नया: hash_randomization विशेषता।

संस्करण 3.3 में बदला गया : अप्रचलित division_warning विशेषता को हटा दिया गया।

संस्करण 3.7 में परिवर्तित: नए -X dev ध्वज के लिए utf8_mode विशेषता और नए -X utf8 ध्वज के लिए dev_mode विशेषता जोड़ा गया।

sys.float_info

फ्लोट प्रकार के बारे में जानकारी रखने वाला एक संरचना अनुक्रम । इसमें सटीक और आंतरिक प्रतिनिधित्व के बारे में निम्न स्तर की जानकारी है। मान मानक हेडर फ़ाइल float.h में 'C' प्रोग्रामिंग भाषा के लिए परिभाषित विभिन्न फ्लोटिंग-पॉइंट float.h के float.h हैं; विवरण के लिए 1999 आईएसओ / IEC C मानक [C99] , 'फ्लोटिंग प्रकार के लक्षण' की धारा 5.2.4.2.2 देखें।

गुण फ्लोट व्याख्या
epsilon DBL_EPSILON 1 और 1 के बीच कम से कम मूल्य का अंतर जो फ्लोट के रूप में प्रतिनिधित्व करने योग्य है
dig DBL_DIG दशमलव अंकों की अधिकतम संख्या जो एक फ्लोट में ईमानदारी से दर्शाई जा सकती है; निचे देखो
mant_dig DBL_MANT_DIG फ्लोट प्रिसिजन: फ्लोट के महत्व में आधार- radix अंकों की संख्या
max DBL_MAX अधिकतम प्रतिनिधित्व योग्य परिमित फ्लोट
max_exp DBL_MAX_EXP अधिकतम पूर्णांक e जैसे कि radix**(e-1) एक प्रतिनिधित्व योग्य परिमित फ्लोट है
max_10_exp DBL_MAX_10_EXP अधिकतम पूर्णांक ई जैसे कि 10**e प्रतिनिधित्व योग्य परिमित फ्लोट की श्रेणी में है
min DBL_MIN न्यूनतम सकारात्मक सामान्यीकृत फ्लोट
min_exp DBL_MIN_EXP न्यूनतम पूर्णांक e जैसे कि radix**(e-1) एक सामान्यीकृत फ्लोट है
min_10_exp DBL_MIN_10_EXP न्यूनतम पूर्णांक ई जैसे कि 10**e एक सामान्यीकृत फ्लोट है
radix FLT_RADIX प्रतिपादक प्रतिनिधित्व का मूलांक
rounds FLT_ROUNDS पूर्णांक निरंतर अंकगणितीय संचालन के लिए उपयोग किए जाने वाले गोलाई मोड का प्रतिनिधित्व करता है। यह दुभाषिया स्टार्टअप समय में सिस्टम FLT_ROUNDS मैक्रो के मूल्य को दर्शाता है। संभावित मानों और उनके अर्थों की व्याख्या के लिए C99 मानक का खंड 5.2.4.2.2 देखें।

विशेषता sys.float_info.dig को और स्पष्टीकरण की आवश्यकता है। यदि कोई भी स्ट्रिंग है जो किसी भी दशमलव संख्या को सबसे अधिक sys.float_info.dig महत्वपूर्ण अंकों के साथ sys.float_info.dig है, तो s को एक फ्लोट में परिवर्तित करना और वापस फिर से उसी दशमलव मान का प्रतिनिधित्व करने वाले स्ट्रिंग को पुनर्प्राप्त करना होगा:

>>> import sys
>>> sys.float_info.dig
15
>>> s = '3.14159265358979'    # decimal string with 15 significant digits
>>> format(float(s), '.15g')  # convert to float and back -> same value
'3.14159265358979'

लेकिन sys.float_info.dig से अधिक महत्वपूर्ण अंकों के साथ तार के लिए, यह हमेशा सच नहीं होता है:

>>> s = '9876543211234567'    # 16 significant digits is too many!
>>> format(float(s), '.16g')  # conversion changes value
'9876543211234568'
sys.float_repr_style

एक स्ट्रिंग इंगित करता है कि कैसे repr() फ़ंक्शन फ़्लोट के लिए व्यवहार करता है। यदि स्ट्रिंग का मूल्य 'short' तो एक परिमित फ्लोट x , repr(x) उद्देश्य उस संपत्ति के साथ एक छोटी स्ट्रिंग का उत्पादन करना है जो float(repr(x)) == x । यह पायथन 3.1 और बाद में सामान्य व्यवहार है। अन्यथा, float_repr_style पास 'legacy' मूल्य है और repr(x) उसी तरह से व्यवहार करता है जैसे उसने 3.1 से पहले पायथन के संस्करणों में किया था।

संस्करण 3.1 में नया।

sys.getallocatedblocks()

वर्तमान में दुभाषिया द्वारा आवंटित मेमोरी ब्लॉकों की संख्या लौटाएं, चाहे उनका आकार कुछ भी हो। यह फ़ंक्शन मेमोरी लीक पर नज़र रखने और डिबगिंग के लिए मुख्य रूप से उपयोगी है। दुभाषिया के आंतरिक कैश के कारण, परिणाम कॉल से कॉल में भिन्न हो सकता है; अधिक अनुमानित परिणाम प्राप्त करने के लिए आपको _clear_type_cache() और gc.collect() कॉल करना पड़ सकता है।

यदि कोई पायथन निर्माण या कार्यान्वयन इस जानकारी की यथोचित गणना नहीं कर सकता है, तो getallocatedblocks() को इसके बजाय 0 वापस करने की अनुमति है।

संस्करण 3.4 में नया।

sys.getandroidapilevel()

एक पूर्णांक के रूप में एंड्रॉइड के बिल्ड टाइम एपीआई संस्करण को वापस करें।

उपलब्धता: Android

संस्करण 3.7 में नया।

sys.getcheckinterval()

दुभाषिया के "चेक अंतराल" को लौटाएं; setcheckinterval() देखें।

3.2 संस्करण के बाद से पदावनत: इसके बजाय getswitchinterval() उपयोग करें।

sys.getdefaultencoding()

यूनिकोड कार्यान्वयन द्वारा उपयोग किए जाने वाले वर्तमान डिफ़ॉल्ट स्ट्रिंग एन्कोडिंग का नाम लौटाएं।

sys.getdlopenflags()

dlopen() कॉल के लिए उपयोग किए जाने वाले झंडे का वर्तमान मान लौटाएं। ध्वज मानों के लिए प्रतीकात्मक नाम os मॉड्यूल ( RTLD_xxx स्थिरांक, उदाहरण के लिए os.RTLD_LAZY ) में पाए जा सकते हैं। उपलब्धता: यूनिक्स।

sys.getfilesystemencoding()

यूनिकोड फ़ाइलनाम और बाइट फ़ाइलनाम के बीच कनवर्ट करने के लिए उपयोग किए गए एन्कोडिंग का नाम लौटाएं। सर्वोत्तम संगतता के लिए, str का उपयोग सभी मामलों में फ़ाइलनामों के लिए किया जाना चाहिए, हालांकि बाइट्स के रूप में फ़ाइलनामों का प्रतिनिधित्व करना भी समर्थित है। फ़ाइल नाम को स्वीकार या वापस करने वाले फ़ंक्शंस को str या बाइट्स का समर्थन करना चाहिए और आंतरिक रूप से सिस्टम के पसंदीदा प्रतिनिधित्व में परिवर्तित करना चाहिए।

यह एन्कोडिंग हमेशा ASCII- संगत है।

os.fsencode() और os.fsdecode() का उपयोग यह सुनिश्चित करने के लिए किया जाना चाहिए कि सही एन्कोडिंग और एरर मोड का उपयोग किया जाता है।

  • UTF-8 मोड में, एन्कोडिंग किसी भी प्लेटफ़ॉर्म पर utf-8 है।
  • Mac OS X पर, एन्कोडिंग 'utf-8'
  • यूनिक्स पर, एन्कोडिंग स्थानीय एन्कोडिंग है।
  • Windows पर, उपयोगकर्ता कॉन्फ़िगरेशन के आधार पर एन्कोडिंग 'utf-8' या 'mbcs' हो सकती है।

संस्करण 3.2 में परिवर्तित: getfilesystemencoding() परिणाम अब और None नहीं हो सकता है।

संस्करण 3.6 में बदला: विंडोज अब 'mbcs' को वापस करने की गारंटी नहीं है। अधिक जानकारी के लिए PEP 529 और _enablelegacywindowsfsencoding() देखें।

संस्करण 3.7 में परिवर्तित: UTF-8 मोड में 'utf-8' लौटें।

sys.getfilesystemencodeerrors()

यूनिकोड फ़ाइलनाम और बाइट फ़ाइल नाम के बीच कनवर्ट करने के लिए उपयोग किए जाने वाले त्रुटि मोड का नाम लौटाएं। एन्कोडिंग नाम getfilesystemencoding()

os.fsencode() और os.fsdecode() का उपयोग यह सुनिश्चित करने के लिए किया जाना चाहिए कि सही एन्कोडिंग और एरर मोड का उपयोग किया जाता है।

संस्करण 3.6 में नया।

sys.getrefcount(object)

ऑब्जेक्ट की संदर्भ गणना लौटाएं। लौटी हुई गिनती आम तौर पर आपकी अपेक्षा से एक अधिक होती है, क्योंकि इसमें getrefcount() तर्क के रूप में अस्थायी (अस्थायी) संदर्भ शामिल होता है।

sys.getrecursionlimit()

पुनरावृत्ति सीमा के वर्तमान मूल्य को वापस करें, पायथन दुभाषिया स्टैक की अधिकतम गहराई। यह सीमा अनंत पुनरावृत्ति को सी स्टैक के अतिप्रवाह और दुर्घटनाग्रस्त पायथन को रोकने से रोकती है। यह setrecursionlimit() द्वारा सेट किया जा सकता है।

sys.getsizeof(object[, default])

किसी वस्तु का आकार बाइट्स में लौटाएं। वस्तु किसी भी प्रकार की वस्तु हो सकती है। सभी अंतर्निहित वस्तुएँ सही परिणाम लौटाएंगी, लेकिन इसे तृतीय-पक्ष एक्सटेंशन के लिए सही नहीं रखना होगा क्योंकि यह विशिष्ट है।

केवल ऑब्जेक्ट के लिए सीधे स्मृति की खपत को जिम्मेदार ठहराया जाता है, न कि उन वस्तुओं की मेमोरी की खपत जो इसे संदर्भित करता है।

यदि दिया जाता है, तो डिफ़ॉल्ट वापस कर दिया जाएगा यदि ऑब्जेक्ट आकार को पुनः प्राप्त करने के लिए साधन प्रदान नहीं करता है। अन्यथा एक TypeError उठाया जाएगा।

getsizeof() ऑब्जेक्ट के __sizeof__ मेथड को कॉल करता है और एक अतिरिक्त कचरा संग्राहक ओवरहेड जोड़ता है यदि ऑब्जेक्ट को कचरा कलेक्टर द्वारा प्रबंधित किया जाता है।

कंटेनर के आकार और उनकी सभी सामग्रियों का पता लगाने के लिए getsizeof() का उपयोग करने के उदाहरण के लिए पुनरावर्ती आकार का नुस्खा देखें।

sys.getswitchinterval()

इंटरप्रिटर का "थ्रेड स्विच अंतराल" लौटाएं; setswitchinterval() देखें।

संस्करण 3.2 में नया।

sys._getframe([depth])

कॉल स्टैक से फ़्रेम ऑब्जेक्ट वापस करें। यदि वैकल्पिक पूर्णांक गहराई दी गई है, तो फ्रेम ऑब्जेक्ट को वापस करें जो ढेर के ऊपर नीचे कई कॉल करता है। यदि वह कॉल स्टैक से अधिक गहरा है, तो ValueError को उठाया जाता है। गहराई के लिए डिफ़ॉल्ट शून्य है, कॉल स्टैक के शीर्ष पर फ़्रेम को लौटाता है।

CPython कार्यान्वयन विवरण: इस फ़ंक्शन का उपयोग केवल आंतरिक और विशेष उद्देश्यों के लिए किया जाना चाहिए। यह अजगर के सभी कार्यान्वयन में मौजूद होने की गारंटी नहीं है।

sys.getprofile()

setprofile() द्वारा निर्धारित के रूप में प्रोफाइलर फ़ंक्शन प्राप्त करें।

sys.gettrace()

settrace() द्वारा निर्धारित ट्रेस फ़ंक्शन प्राप्त करें।

CPython कार्यान्वयन विवरण: gettrace() फ़ंक्शन केवल डीबगर, प्रोफाइलर, कवरेज टूल और इस तरह के कार्यान्वयन के लिए है। इसका व्यवहार भाषा की परिभाषा के भाग के बजाय कार्यान्वयन मंच का हिस्सा है, और इस प्रकार सभी पायथन कार्यान्वयन में उपलब्ध नहीं हो सकता है।

sys.getwindowsversion()

वर्तमान में चल रहे विंडोज संस्करण का वर्णन करते हुए एक नाम दिया हुआ टपल लौटें। नामित तत्व प्रमुख हैं , छोटे , बिल्ड , प्लेटफ़ॉर्म , सर्विस_पैक , सर्विस_पैक_मिनोर , सर्विस_पैक_मेजर , सुइट_मास्क , प्रोडक्ट_टाइप और प्लेटफॉर्म_वर्जन service_pack में एक स्ट्रिंग है, platform_version एक 3-tuple और अन्य सभी मान पूर्णांक हैं। घटकों को नाम से भी एक्सेस किया जा सकता है, इसलिए sys.getwindowsversion()[0] sys.getwindowsversion().major बराबर है। पूर्व संस्करणों के साथ संगतता के लिए, केवल पहले 5 तत्व अनुक्रमण द्वारा पुनर्प्राप्ति योग्य हैं।

प्लेटफॉर्म 2 (VER_PLATFORM_WIN32_NT) होगा 2 (VER_PLATFORM_WIN32_NT)

product_type निम्नलिखित मानों में से एक हो सकता है:

स्थिर अर्थ
1 (VER_NT_WORKSTATION) सिस्टम एक वर्कस्टेशन है।
2 (VER_NT_DOMAIN_CONTROLLER) सिस्टम एक डोमेन नियंत्रक है।
3 (VER_NT_SERVER) सिस्टम एक सर्वर है, लेकिन डोमेन नियंत्रक नहीं है।

यह फ़ंक्शन Win32 GetVersionEx() फ़ंक्शन को लपेटता है; इन क्षेत्रों के बारे में अधिक जानकारी के लिए OSVERSIONINFOEX() पर Microsoft दस्तावेज़ देखें।

platform_version प्रक्रिया के लिए अनुकरण किए जा रहे संस्करण के बजाय सटीक प्रमुख संस्करण, लघु संस्करण और वर्तमान ऑपरेटिंग सिस्टम की बिल्ड संख्या देता है। यह सुविधा का पता लगाने के बजाय लॉगिंग में उपयोग के लिए है।

उपलब्धता: विंडोज।

संस्करण 3.2 में परिवर्तित : एक नामित टपल में जोड़ा गया और जोड़ा गया service_pack_minor , service_pack_major , suite_mask , और product_type

संस्करण 3.6 में परिवर्तित: platform_version जोड़ा गया

sys.get_asyncgen_hooks()

एक asyncgen_hooks ऑब्जेक्ट लौटाता है, जो प्रपत्र (firstiter, finalizer) समान होता है, जहाँ फ़ाइटर और फ़ाइनलीज़र के पास या तो None भी None होने की उम्मीद की जाती है या फ़ंक्शंस जो एक अतुल्यकालिक जनरेटर पुनरावृत्ति को एक तर्क के रूप में लेते हैं, और अंतिम रूप देने के लिए उपयोग किए जाते हैं एक घटना लूप द्वारा अतुल्यकालिक जनरेटर।

संस्करण 3.6 में नया: अधिक विवरण के लिए PEP 525 देखें।

ध्यान दें

यह फ़ंक्शन अनंतिम आधार पर जोड़ा गया है (विवरण के लिए पीईपी 411 देखें)।

sys.get_coroutine_origin_tracking_depth()

वर्तमान coroutine मूल ट्रैकिंग गहराई प्राप्त करें, जैसा कि func द्वारा सेट किया गया है: set_coroutine_origin_tracking_depth

संस्करण 3.7 में नया।

ध्यान दें

यह फ़ंक्शन अनंतिम आधार पर जोड़ा गया है (विवरण के लिए PEP 411 देखें।) इसका उपयोग केवल डीबगिंग उद्देश्यों के लिए करें।

sys.get_coroutine_wrapper()

None लौटाता, या set_coroutine_wrapper() द्वारा सेट किया गया रैपर।

संस्करण 3.5 में नया: अधिक विवरण के लिए पीईपी 492 देखें।

ध्यान दें

यह फ़ंक्शन अनंतिम आधार पर जोड़ा गया है (विवरण के लिए PEP 411 देखें।) इसका उपयोग केवल डीबगिंग उद्देश्यों के लिए करें।

संस्करण 3.7 के बाद से हटा दिया गया : कोरटाइन आवरण की कार्यक्षमता को हटा दिया गया है, और 3.8 में हटा दिया जाएगा। विवरण के लिए bpo-32591 देखें।

sys.hash_info

सांख्यिक हैश कार्यान्वयन के पैरामीटर देने वाला एक संरचनात्मक अनुक्रम । संख्यात्मक प्रकारों के हैशिंग के बारे में अधिक जानकारी के लिए, संख्यात्मक प्रकारों की हैशिंग देखें।

गुण व्याख्या
width हैश मान के लिए प्रयुक्त बिट्स में चौड़ाई
modulus न्यूमेरिक हैश स्कीम के लिए प्राइम मॉडुलस पी का उपयोग किया जाता है
inf हैश मान एक सकारात्मक अनंत के लिए लौट आया
nan हैश मान एक नैनो के लिए वापस आ गया
imag गुणक का उपयोग किसी जटिल संख्या के काल्पनिक भाग के लिए किया जाता है
algorithm एल्गोरिथ्म का नाम str, बाइट्स और मेमोरीव्यू के हैशिंग के लिए
hash_bits हैश एल्गोरिथ्म का आंतरिक आउटपुट आकार
seed_bits हैश एल्गोरिथ्म के बीज कुंजी का आकार

संस्करण 3.2 में नया।

संस्करण 3.4 में परिवर्तित: एल्गोरिथ्म , hash_bits और seed_bits जोड़ा गया

sys.hexversion

संस्करण संख्या एक पूर्णांक के रूप में एन्कोडेड है। यह गैर-उत्पादन रिलीज के लिए उचित समर्थन सहित प्रत्येक संस्करण के साथ बढ़ाने की गारंटी है। उदाहरण के लिए, यह जांचने के लिए कि पायथन दुभाषिया कम से कम संस्करण 1.5.2 है, उपयोग करें:

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...

इसे hexversion कहा जाता है क्योंकि यह वास्तव में तभी सार्थक दिखता है जब इसे बिल्ट-इन hex() फंक्शन में पास करने के परिणाम के रूप में देखा जाता है। एक ही जानकारी के अधिक मानव-अनुकूल एन्कोडिंग के लिए संरचना अनुक्रम sys.version_info का उपयोग किया जा सकता है।

एपीआई और एबीआई संस्करण में hexversion अधिक विवरण पाए जा सकते हैं।

sys.implementation

एक वस्तु जिसमें वर्तमान में चल रहे पायथन दुभाषिया के कार्यान्वयन के बारे में जानकारी है। सभी पायथन कार्यान्वयन में निम्नलिखित विशेषताओं का होना आवश्यक है।

नाम कार्यान्वयन के पहचानकर्ता है, उदाहरण के लिए 'cpython' । वास्तविक स्ट्रिंग को पायथन कार्यान्वयन द्वारा परिभाषित किया गया है, लेकिन यह कम मामले में होने की गारंटी है।

संस्करण एक नामित टपल है, जो sys.version_info के समान प्रारूप में है। यह पायथन कार्यान्वयन के संस्करण का प्रतिनिधित्व करता है । पायथन भाषा के विशिष्ट संस्करण से इसका एक अलग अर्थ है, जिसमें वर्तमान में चल रहे दुभाषिया अनुरूप हैं, जो sys.version_info प्रतिनिधित्व करता है। उदाहरण के लिए, PyPy 1.8 sys.implementation.version लिए sys.version_info(1, 8, 0, 'final', 0) हो सकता है, जबकि sys.version_info sys.version_info(2, 7, 2, 'final', 0) । CPython के लिए वे एक ही मूल्य हैं, क्योंकि यह संदर्भ कार्यान्वयन है।

हेक्सवर्सन हेक्साडेसिमल प्रारूप में कार्यान्वयन संस्करण है, जैसे sys.hexversion

cache_tag कैश्ड मॉड्यूल के फ़ाइल नाम में आयात मशीनरी द्वारा उपयोग किया जाने वाला टैग है। अधिवेशन के अनुसार, यह कार्यान्वयन का नाम और संस्करण होगा, जैसे 'cpython-33' । हालाँकि, यदि उचित हो, तो पायथन कार्यान्वयन कुछ अन्य मूल्य का उपयोग कर सकता है। यदि cache_tag किसी पर सेट None , तो यह इंगित करता है कि मॉड्यूल कैशिंग अक्षम होना चाहिए।

sys.implementation कार्यान्वयन में पायथन कार्यान्वयन के लिए विशिष्ट अतिरिक्त विशेषताएं हो सकती हैं। इन गैर-मानक विशेषताओं को अंडरस्कोर से शुरू करना चाहिए, और यहां वर्णित नहीं हैं। अपनी सामग्री के बावजूद, sys.implementation न तो इंटरप्रेटर के एक रन के दौरान बदलेगा, न ही कार्यान्वयन संस्करणों के बीच। (हालांकि, यह पायथन भाषा संस्करणों के बीच बदल सकता है।) अधिक जानकारी के लिए PEP 421 देखें।

संस्करण 3.3 में नया।

sys.int_info

एक संरचना अनुक्रम जो पायथन के पूर्णांक के आंतरिक प्रतिनिधित्व के बारे में जानकारी रखता है। गुण केवल पढ़े जाते हैं।

गुण व्याख्या
bits_per_digit प्रत्येक अंक में आयोजित बिट्स की संख्या। पायथन पूर्णांकों को बेस 2**int_info.bits_per_digit में आंतरिक रूप से संग्रहीत किया जाता है
sizeof_digit एक अंक का प्रतिनिधित्व करने के लिए उपयोग किए जाने वाले C प्रकार के बाइट्स में आकार

संस्करण 3.1 में नया।

sys.__interactivehook__

जब यह विशेषता मौजूद होती है, तो इंटरप्रेटर को इंटरएक्टिव मोड में लॉन्च करने पर इसका मूल्य स्वतः ही (बिना किसी तर्क के) कहलाता है । यह PYTHONSTARTUP फ़ाइल पढ़ने के बाद किया जाता है, ताकि आप इस हुक को वहां सेट कर सकें। site मॉड्यूल इसे सेट करता है

संस्करण 3.4 में नया।

sys.intern(string)

स्ट्रिंग को "इंटर्न" स्ट्रिंग्स की तालिका में दर्ज करें और इंटर्न स्ट्रिंग को वापस लौटाएं - जो स्ट्रिंग खुद या एक कॉपी है। शब्दकोश लुकिंग पर थोड़ा सा प्रदर्शन हासिल करने के लिए इंटरस्टिंग स्ट्रिंग्स उपयोगी है - यदि किसी शब्दकोश में कुंजियों को नजरबंद किया जाता है, और लुकअप कुंजी को नजरबंद किया जाता है, तो कुंजी तुलना (हैशिंग के बाद) एक स्ट्रिंग तुलना के बजाय सूचक द्वारा की जा सकती है। आम तौर पर, पायथन कार्यक्रमों में उपयोग किए जाने वाले नामों को स्वचालित रूप से इंटर्न किया जाता है, और मॉड्यूल, वर्ग या उदाहरण विशेषताओं को रखने के लिए उपयोग किए जाने वाले शब्दकोशों में इंटर्न कुंजी होती है।

आंतरिक तार अमर नहीं हैं; आपको इससे लाभ पाने के लिए intern() आसपास के रिटर्न मान का संदर्भ रखना चाहिए।

sys.is_finalizing()

यदि पायथन दुभाषिया बंद हो रहा है तो True लौटें, अन्यथा False

संस्करण 3.5 में नया।

sys.last_type
sys.last_value
sys.last_traceback

ये तीन चर हमेशा परिभाषित नहीं होते हैं; वे तब सेट होते हैं जब कोई अपवाद नियंत्रित नहीं किया जाता है और दुभाषिया एक त्रुटि संदेश और एक स्टैक ट्रेसबैक प्रिंट करता है। उनका इरादा उपयोग एक इंटरैक्टिव उपयोगकर्ता को डिबगर मॉड्यूल को आयात करने की अनुमति देना है और त्रुटि का कारण बने कमांड को फिर से निष्पादित करने के बिना पोस्टमार्टम डीबगिंग में संलग्न करना है। (विशिष्ट उपयोग import pdb; pdb.pm() पोस्टमार्टम import pdb; pdb.pm() प्रवेश करने के लिए। अधिक जानकारी के लिए pdb मॉड्यूल देखें।)

चरों का अर्थ वही है जो कि exc_info() से वापसी मानों के exc_info() है।

sys.maxsize

अधिकतम मूल्य देने वाला एक पूर्णांक जो Py_ssize_t प्रकार का Py_ssize_t ले सकता है। यह आमतौर पर 2**31 - 1 32-बिट प्लेटफॉर्म पर और 2**63 - 1 64-बिट प्लेटफॉर्म पर है।

sys.maxunicode

एक पूर्णांक जो सबसे बड़े यूनिकोड कोड बिंदु का मान देता है, यानी 1114111 (हेक्साडेसिमल में 0x10FFFF )।

संस्करण 3.3 में बदला गया: PEP 393 से पहले, sys.maxunicode या तो 0xFFFF या 0x10FFFF करता था, जो कॉन्फ़िगरेशन विकल्प पर निर्भर करता था जो निर्दिष्ट करता था कि क्या यूनिकोड वर्णों को UCS-2 या UCS-4 के रूप में संग्रहीत किया गया था।

sys.meta_path

मेटा पाथ फाइंडर ऑब्जेक्ट्स की एक सूची जिसमें उनके find_spec() मेथड्स हैं, यह देखने के लिए कहा जाता है कि क्या ऑब्जेक्ट्स में से कोई एक मॉड्यूल इंपोर्ट किया जा सकता है। find_spec() विधि को आयात किए जा रहे मॉड्यूल के कम से कम पूर्ण नाम के साथ कहा जाता है। यदि आयात किया जाने वाला मॉड्यूल किसी पैकेज में समाहित है, तो मूल पैकेज का __path__ विशेषता को दूसरे तर्क के रूप में पारित किया जाता है। विधि एक मॉड्यूल युक्ति लौटाती है, या यदि मॉड्यूल नहीं पाया जा सकता है तो None नहीं।

यह भी देखें

importlib.abc.MetaPathFinder
meta_path बेस पर खोजक वस्तुओं के इंटरफेस को परिभाषित करने वाला सार आधार वर्ग।
importlib.machinery.ModuleSpec
ठोस वर्ग जो find_spec() उदाहरण लौटाता है।

संस्करण 3.4 में बदला: PEP 451 द्वारा पायथन 3.4 में मॉड्यूल चश्मा पेश किया गया था। पायथन के पहले के संस्करणों ने find_module() नामक एक विधि की find_module() । यदि meta_path प्रविष्टि में कोई find_spec() विधि नहीं है, तो इसे अभी भी फ़ॉलबैक कहा जाता है।

sys.modules

यह एक ऐसा शब्दकोश है जो मॉड्यूल नामों को उन मॉड्यूलों में मैप करता है जो पहले से लोड किए गए हैं। मॉड्यूल और अन्य चालों को फिर से लोड करने के लिए मजबूर करने के लिए इसमें हेरफेर किया जा सकता है। हालाँकि, शब्दकोश की जगह अपेक्षित रूप से काम नहीं करेगा और शब्दकोश से आवश्यक वस्तुओं को हटाने से पायथन विफल हो सकता है।

sys.path

स्ट्रिंग्स की एक सूची जो मॉड्यूल के लिए खोज पथ को निर्दिष्ट करती है। पर्यावरण चर PYTHONPATH से आरंभिक, साथ ही एक इंस्टॉलेशन-निर्भर डिफ़ॉल्ट।

प्रोग्राम स्टार्टअप पर आरंभिक रूप से, इस सूची का पहला आइटम, path[0] , वह निर्देशिका है जिसमें स्क्रिप्ट होती है जिसका उपयोग पायथन इंटरप्रेटर को लागू करने के लिए किया गया था। यदि स्क्रिप्ट निर्देशिका उपलब्ध नहीं है (उदाहरण के लिए यदि इंटरप्रेन्योर अंतःक्रियात्मक रूप से आमंत्रित किया जाता है या यदि स्क्रिप्ट को मानक इनपुट से पढ़ा जाता है), तो path[0] खाली स्ट्रिंग है, जो पहले पायथन को वर्तमान निर्देशिका में खोज मॉड्यूल को निर्देशित करता है। ध्यान दें कि स्क्रिप्ट निर्देशिका PYTHONPATH परिणामस्वरूप सम्मिलित प्रविष्टियों से पहले डाली जाती है।

एक कार्यक्रम अपने स्वयं के प्रयोजनों के लिए इस सूची को संशोधित करने के लिए स्वतंत्र है। केवल स्ट्रिंग्स और बाइट्स को sys.path जोड़ा जाना चाहिए; अन्य सभी डेटा प्रकारों को आयात के दौरान अनदेखा किया जाता है।

यह भी देखें

मॉड्यूल site यह वर्णन करती है कि sys.path का विस्तार करने के लिए .pth फ़ाइलों का उपयोग कैसे करें।

sys.path_hooks

कॉलबेल की एक सूची जो पथ के लिए एक finder बनाने की कोशिश करने के लिए एक मार्ग तर्क लेती है। यदि एक खोजक बनाया जा सकता है, तो इसे कॉल करने योग्य द्वारा वापस किया जाना चाहिए, अन्यथा ImportError बढ़ाएं।

मूल रूप से पीईपी 302 में निर्दिष्ट है।

sys.path_importer_cache

finder वस्तुओं के लिए कैश के रूप में कार्य करने वाला शब्दकोश। कुंजियाँ वे पथ हैं जो sys.path_hooks को sys.path_hooks और मान sys.path_hooks गए हैं। यदि कोई पथ मान्य फ़ाइल सिस्टम पथ है, लेकिन sys.path_hooks पर कोई खोजक नहीं मिला है, तो None भी संग्रहीत None है।

मूल रूप से पीईपी 302 में निर्दिष्ट है।

संस्करण 3.3 में बदला गया: कोई खोजक नहीं imp.NullImporter पर कोई भी imp.NullImporter बजाय संग्रहीत किया जाता है।

sys.platform

इस स्ट्रिंग में एक प्लेटफ़ॉर्म आइडेंटिफ़ायर होता है, sys.path उदाहरण के लिए sys.path प्लेटफ़ॉर्म-विशिष्ट घटकों को जोड़ने के लिए उपयोग किया जा सकता है।

यूनिक्स प्रणालियों के लिए, लिनक्स को छोड़कर, यह बिना नाम के uname -s द्वारा लौटाया गया OS नाम है, जैसा कि संस्करण के पहले भाग के साथ लौटा है, जैसा कि uname -r द्वारा लौटाया गया है, उदाहरण के लिए 'sunos5' या 'freebsd8' , उस समय जब पायथन था बनाया गया । जब तक आप किसी विशिष्ट सिस्टम संस्करण के लिए परीक्षण नहीं करना चाहते हैं, इसलिए निम्न मुहावरों का उपयोग करने की सिफारिश की जाती है:

if sys.platform.startswith('freebsd'):
    # FreeBSD-specific code here...
elif sys.platform.startswith('linux'):
    # Linux-specific code here...

अन्य प्रणालियों के लिए, मान निम्न हैं:

प्रणाली platform मूल्य
लिनक्स 'linux'
विंडोज 'win32'
विंडोज़ / Cygwin 'cygwin'
मैक ओएस एक्स 'darwin'

संस्करण 3.3 में बदला: लिनक्स पर, sys.platform अब कोई बड़ा संस्करण नहीं है। यह हमेशा 'linux' 'linux2' या 'linux3' बजाय 'linux' 'linux3' । चूंकि पुराने पायथन संस्करणों में संस्करण संख्या शामिल है, इसलिए हमेशा ऊपर प्रस्तुत किए गए startswith मुहावरे का उपयोग करने की सिफारिश की जाती है।

यह भी देखें

os.name में एक मोटे दानेदारपन है। os.uname() सिस्टम पर निर्भर संस्करण की जानकारी देता है।

platform मॉड्यूल सिस्टम की पहचान के लिए विस्तृत जाँच प्रदान करता है।

sys.prefix

साइट-विशिष्ट निर्देशिका उपसर्ग देने वाली एक स्ट्रिंग जहां प्लेटफ़ॉर्म स्वतंत्र पायथन फाइलें स्थापित की जाती हैं; डिफ़ॉल्ट रूप से, यह स्ट्रिंग '/usr/local' । यह कॉन्फ़िगर स्क्रिप्ट पर --prefix तर्क के साथ बिल्ड समय पर सेट किया जा सकता है। पायथन लाइब्रेरी मॉड्यूल का मुख्य संग्रह निर्देशिका prefix /lib/python X.Y में स्थापित है, जबकि प्लेटफ़ॉर्म स्वतंत्र हेडर फाइलें (सभी pyconfig.h को छोड़कर) prefix /include/python X.Y में संग्रहीत prefix /include/python X.Y XY , जहाँ XY पायथन का संस्करण संख्या है उदाहरण के लिए 3.2

ध्यान दें

यदि कोई वर्चुअल वातावरण प्रभाव में है, site.py तो वर्चुअल वातावरण को इंगित करने के लिए इस मान को बदल दिया जाएगा । पायथन स्थापना के लिए मूल्य अभी भी, के माध्यम से उपलब्ध होगा base_prefix

sys.ps1
sys.ps2

दुभाषिया के प्राथमिक और माध्यमिक संकेत को निर्दिष्ट करने वाले तार। ये केवल तब परिभाषित किए जाते हैं जब दुभाषिया इंटरएक्टिव मोड में हो। इस मामले में उनके प्रारंभिक मूल्य हैं '>>> ' और '... ' । यदि एक गैर-स्ट्रिंग ऑब्जेक्ट को या तो चर के लिए असाइन किया गया है, तो इसका str() मूल्यांकन हर बार होता है जब दुभाषिया एक नया इंटरैक्टिव कमांड पढ़ने के लिए तैयार करता है; यह एक गतिशील संकेत को लागू करने के लिए इस्तेमाल किया जा सकता है।

sys.setcheckinterval(interval)

दुभाषिया का "चेक अंतराल" सेट करें। यह पूर्णांक मान निर्धारित करता है कि थ्रेड स्विच और सिग्नल हैंडलर जैसी आवधिक चीजों के लिए दुभाषिया कितनी बार जांच करता है। डिफ़ॉल्ट है 100 , जिसका अर्थ है कि चेक प्रत्येक 100 पायथन वर्चुअल निर्देशों का किया जाता है। इसे बड़े मूल्य पर सेट करना थ्रेड्स का उपयोग करके प्रोग्राम के लिए प्रदर्शन बढ़ा सकता है। इसे <= 0 मान पर सेट करना हर वर्चुअल निर्देश को जांचता है, साथ ही साथ जवाबदेही को अधिकतम करता है।

संस्करण 3.2 से हटाए गए: इस फ़ंक्शन का अब कोई प्रभाव नहीं पड़ता है, क्योंकि थ्रेड स्विचिंग और एसिंक्रोनस कार्यों के आंतरिक तर्क को फिर से लिखा गया है। setswitchinterval() इसके बजाय उपयोग करें ।

sys.setdlopenflags(n)

dlopen() कॉल के लिए दुभाषिया द्वारा उपयोग किए जाने वाले झंडे सेट करें , जैसे कि जब दुभाषिया विस्तार मॉड्यूल लोड करता है। अन्य चीजों के अलावा, यह मॉड्यूल आयात करते समय प्रतीकों के एक आलसी को हल करने में सक्षम करेगा, अगर इसे कहा जाता है sys.setdlopenflags(0) । एक्सटेंशन मॉड्यूल में प्रतीकों को साझा करने के लिए, कॉल करें sys.setdlopenflags(os.RTLD_GLOBAL) । ध्वज मूल्यों के लिए प्रतीकात्मक नाम os मॉड्यूल ( RTLD_xxx स्थिरांक, उदा os.RTLD_LAZY ) में पाए जा सकते हैं ।

उपलब्धता: यूनिक्स।

sys.setprofile(profilefunc)

सिस्टम का प्रोफ़ाइल फ़ंक्शन सेट करें, जो आपको पायथन में पायथन स्रोत कोड प्रोफाइलर को लागू करने की अनुमति देता है। पायथन प्रोफाइलर के बारे में अधिक जानकारी के लिए अध्याय पायथन प्रोफाइलर्स देखें। सिस्टम के प्रोफाइल फ़ंक्शन को सिस्टम के ट्रेस फ़ंक्शन (देखें settrace() ) के समान कहा जाता है, लेकिन इसे विभिन्न घटनाओं के साथ कहा जाता है, उदाहरण के लिए इसे कोड के प्रत्येक निष्पादित लाइन (केवल कॉल और रिटर्न पर) के लिए नहीं बुलाया जाता है, लेकिन रिटर्न इवेंट की सूचना दी जाती है तब भी जब कोई अपवाद निर्धारित किया गया हो)। फ़ंक्शन थ्रेड-विशिष्ट है, लेकिन थ्रेड के बीच संदर्भ स्विच के बारे में जानने के लिए प्रोफाइलर के लिए कोई रास्ता नहीं है, इसलिए कई थ्रेड की उपस्थिति में इसका उपयोग करने का कोई मतलब नहीं है। साथ ही, इसके रिटर्न वैल्यू का उपयोग नहीं किया जाता है, इसलिए यह बस वापस आ सकता है None । प्रोफ़ाइल फ़ंक्शन में त्रुटि स्वयं परेशान हो जाएगी।

प्रोफ़ाइल फ़ंक्शंस में तीन तर्क होने चाहिए: फ़्रेम , ईवेंट , और arg फ्रेम वर्तमान स्टैक फ्रेम है। घटना : एक स्ट्रिंग है 'call' , 'return' , 'c_call' , 'c_return' , या 'c_exception' arg घटना प्रकार पर निर्भर करता है।

घटनाओं के निम्नलिखित अर्थ हैं:

'call'
एक फ़ंक्शन कहा जाता है (या कुछ अन्य कोड ब्लॉक दर्ज किया गया)। प्रोफ़ाइल फ़ंक्शन को कहा जाता है; आर्ग है None
'return'
एक फ़ंक्शन (या अन्य कोड ब्लॉक) वापस आने वाला है। प्रोफ़ाइल फ़ंक्शन को कहा जाता है; arg वह मान है जो वापस लौटाया जाएगा, या None यदि घटना के कारण कोई अपवाद उठाया जा रहा है।
'c_call'
एसी फंक्शन कहा जाने वाला है। यह एक एक्सटेंशन फ़ंक्शन या एक अंतर्निर्मित हो सकता है। arg C फ़ंक्शन ऑब्जेक्ट है।
'c_return'
एसी फंक्शन वापस आ गया है। arg C फ़ंक्शन ऑब्जेक्ट है।
'c_exception'
एसी फ़ंक्शन ने एक अपवाद उठाया है। arg C फ़ंक्शन ऑब्जेक्ट है।
sys.setrecursionlimit(limit)

पायथन दुभाषिया स्टैक की अधिकतम गहराई को सीमित करने के लिए सेट करें । यह सीमा अनंत पुनरावृत्ति को सी स्टैक के अतिप्रवाह और दुर्घटनाग्रस्त पायथन को रोकने से रोकती है।

उच्चतम संभव सीमा प्लेटफ़ॉर्म-निर्भर है। जब उपयोगकर्ता के पास एक प्रोग्राम होता है जिसमें गहरी पुनर्संरचना और उच्च सीमा का समर्थन करने वाले प्लेटफ़ॉर्म की आवश्यकता होती है, तो उपयोगकर्ता को उच्च सीमा निर्धारित करनी पड़ सकती है। यह देखभाल के साथ किया जाना चाहिए, क्योंकि बहुत अधिक सीमा दुर्घटना का कारण बन सकती है।

यदि वर्तमान पुनरावृत्ति गहराई पर नई सीमा बहुत कम है, तो एक RecursionError अपवाद उठाया जाता है।

संस्करण 3.5.1 में परिवर्तित: RecursionError वर्तमान पुनरावृत्ति गहराई पर नई सीमा बहुत कम होने पर एक अपवाद अब उठाया जाता है।

sys.setswitchinterval(interval)

दुभाषिया के थ्रेड स्विच अंतराल (सेकंड में) सेट करें। यह फ़्लोटिंग-पॉइंट वैल्यू "टाइमसील्स" की आदर्श अवधि को निर्धारित करता है जो समवर्ती चलने वाले पायथन थ्रेड्स को आवंटित किया गया है। कृपया ध्यान दें कि वास्तविक मूल्य अधिक हो सकता है, खासकर यदि लंबे समय तक चलने वाले आंतरिक कार्यों या विधियों का उपयोग किया जाता है। इसके अलावा, कौन सा धागा अंतराल के अंत में अनुसूचित हो जाता है, ऑपरेटिंग सिस्टम का निर्णय है। दुभाषिया का अपना शेड्यूलर नहीं है।

संस्करण 3.2 में नया।

sys.settrace(tracefunc)

सिस्टम के ट्रेस फ़ंक्शन को सेट करें, जो आपको पायथन में पायथन स्रोत कोड डीबगर को लागू करने की अनुमति देता है। फ़ंक्शन थ्रेड-विशिष्ट है; डीबगर के लिए कई थ्रेड्स का समर्थन करने के लिए, इसे settrace() प्रत्येक थ्रेड डीबग किए जाने के लिए पंजीकृत होना चाहिए ।

ट्रेस फ़ंक्शंस में तीन तर्क होने चाहिए: फ़्रेम , ईवेंट , और arg फ्रेम वर्तमान स्टैक फ्रेम है। घटना एक स्ट्रिंग है: 'call' , 'line' , 'return' , 'exception' या 'opcode' arg घटना प्रकार पर निर्भर करता है।

जब भी कोई नया स्थानीय दायरा डाला जाता है तो ट्रेस फ़ंक्शन को लागू किया जाता है ( इवेंट सेट के साथ 'call' ); यह उस स्कोप का उपयोग करने के लिए एक स्थानीय ट्रेस फ़ंक्शन का संदर्भ वापस करना चाहिए, या None यदि गुंजाइश का पता नहीं लगाया जाना चाहिए।

स्थानीय ट्रेस फ़ंक्शन को स्वयं (या उस क्षेत्र में आगे के अनुरेखण के लिए किसी अन्य फ़ंक्शन के लिए) का संदर्भ वापस करना चाहिए, या None उस दायरे में ट्रेसिंग को बंद करना चाहिए।

यदि ट्रेस फ़ंक्शन में कोई त्रुटि हुई है, तो यह परेशान हो जाएगा, जैसे settrace(None) कि कहा जाता है।

घटनाओं के निम्नलिखित अर्थ हैं:

'call'
एक फ़ंक्शन कहा जाता है (या कुछ अन्य कोड ब्लॉक दर्ज किया गया)। वैश्विक ट्रेस फ़ंक्शन को कहा जाता है; arg है None ; वापसी मान स्थानीय ट्रेस फ़ंक्शन को निर्दिष्ट करता है।
'line'
दुभाषिया कोड की एक नई लाइन निष्पादित करने या लूप की स्थिति को फिर से निष्पादित करने वाला है। स्थानीय ट्रेस फ़ंक्शन को कहा जाता है; arg है None ; वापसी मान नए स्थानीय ट्रेस फ़ंक्शन को निर्दिष्ट करता है। यह Objects/lnotab_notes.txt कैसे काम करता है, इसकी विस्तृत व्याख्या के लिए देखें । प्रति लाइन की घटनाओं की स्थापना करके एक फ्रेम के लिए निष्क्रिय किया जा सकता f_trace_lines करने के लिए False है कि फ्रेम पर।
'return'
एक फ़ंक्शन (या अन्य कोड ब्लॉक) वापस आने वाला है। स्थानीय ट्रेस फ़ंक्शन को कहा जाता है; arg वह मान है जो वापस लौटाया जाएगा, या None यदि घटना के कारण कोई अपवाद उठाया जा रहा है। ट्रेस फ़ंक्शन के वापसी मान को अनदेखा किया जाता है।
'exception'
एक अपवाद हुआ है। स्थानीय ट्रेस फ़ंक्शन को कहा जाता है; arg एक tuple है (exception, value, traceback) ; वापसी मान नए स्थानीय ट्रेस फ़ंक्शन को निर्दिष्ट करता है।
'opcode'
दुभाषिया एक नया ओपोड निष्पादित करने वाला है ( dis ओपोड विवरण के लिए देखें)। स्थानीय ट्रेस फ़ंक्शन को कहा जाता है; arg है None ; वापसी मान नए स्थानीय ट्रेस फ़ंक्शन को निर्दिष्ट करता है। पर-opcode घटनाओं डिफ़ॉल्ट रूप से उत्सर्जित नहीं कर रहे हैं: वे स्पष्ट रूप से निर्धारित करके अनुरोध किया जाना चाहिए f_trace_opcodes करने के लिए True फ्रेम पर।

ध्यान दें कि अपवाद के रूप में कॉलर्स की श्रृंखला को प्रचारित किया जाता 'exception' है, प्रत्येक स्तर पर एक घटना उत्पन्न होती है।

कोड और फ़्रेम ऑब्जेक्ट के बारे में अधिक जानकारी के लिए , मानक प्रकार पदानुक्रम देखें

CPython कार्यान्वयन विस्तार: settrace() समारोह केवल डिबगर, प्रोफाइलर, कवरेज उपकरण और तरह लागू करने के लिए करना है। इसका व्यवहार भाषा की परिभाषा के भाग के बजाय कार्यान्वयन मंच का हिस्सा है, और इस प्रकार सभी पायथन कार्यान्वयन में उपलब्ध नहीं हो सकता है।

संस्करण 3.7 में परिवर्तित: 'opcode' घटना प्रकार जोड़ा गया; f_trace_lines और f_trace_opcodes विशेषताओं को फ्रेम में जोड़ा गया

sys.set_asyncgen_hooks(firstiter, finalizer)

दो वैकल्पिक कीवर्ड तर्कों को स्वीकार करता है जो कॉलबेल हैं जो एक तर्क के रूप में एक अतुल्यकालिक जनरेटर पुनरावृत्ति को स्वीकार करते हैं । Firstiter जब एक अतुल्यकालिक जनरेटर पहली बार के लिए दोहराया है प्रतिदेय बुलाया जाएगा। Finalizer जब एक अतुल्यकालिक जनरेटर के बारे में कचरा एकत्र किया जाता है बुलाया जाएगा।

संस्करण 3.6 में नई: देखें पीईपी 525 अधिक जानकारी के लिए, और एक के लिए एक संदर्भ उदाहरण के लिए finalizer विधि के क्रियान्वयन को देखने asyncio.Loop.shutdown_asyncgens में Lib/asyncio/base_events.py

ध्यान दें

यह फ़ंक्शन अनंतिम आधार पर जोड़ा गया है ( विवरण के लिए पीईपी 411 देखें)।

sys.set_coroutine_origin_tracking_depth(depth)

कोरआउट मूल ट्रैकिंग को सक्षम या अक्षम करने की अनुमति देता है। जब सक्षम किया जाता है, तो cr_origin coroutine ऑब्जेक्ट्स पर विशेषता में ट्रेसले (फ़ाइल नाम, लाइन नंबर, फ़ंक्शन नाम) का टपल शामिल होगा, जिसमें ट्रेसबैक का वर्णन करते हुए कॉरटीन ऑब्जेक्ट बनाया गया था, जिसमें सबसे हालिया कॉल था। अक्षम होने पर, cr_origin कोई नहीं होगा।

सक्षम करने के लिए, शून्य से अधिक गहराई मान पास करें ; यह उन फ़्रेमों की संख्या निर्धारित करता है जिनकी जानकारी कैप्चर की जाएगी। निष्क्रिय करने के लिए, सेट गहराई को शून्य पर पास करें।

यह सेटिंग थ्रेड-विशिष्ट है।

संस्करण 3.7 में नया।

ध्यान दें

यह फ़ंक्शन अनंतिम आधार पर जोड़ा गया है ( विवरण के लिए PEP 411 देखें।) इसका उपयोग केवल डीबगिंग उद्देश्यों के लिए करें।

sys.set_coroutine_wrapper(wrapper)

coroutine ऑब्जेक्ट्स के निर्माण को बाधित करने की अनुमति देता है (केवल एक async def फ़ंक्शन द्वारा बनाई गई हैं ; जनरेटर के साथ सजाया गया है types.coroutine() या asyncio.coroutine() बाधित नहीं किया जाएगा)।

आवरण तर्क होना चाहिए या तो:

  • एक कॉल करने योग्य जो एक तर्क (एक coroutine ऑब्जेक्ट) को स्वीकार करता है;
  • None , रैपर को रीसेट करने के लिए।

यदि दो बार कहा जाता है, तो नया आवरण पिछले एक को बदल देता है। फ़ंक्शन थ्रेड-विशिष्ट है।

आवरण प्रतिदेय नई coroutines प्रत्यक्ष या परोक्ष रूप से परिभाषित नहीं कर सकते हैं:

def wrapper(coro):
    async def wrap(coro):
        return await coro
    return wrap(coro)
sys.set_coroutine_wrapper(wrapper)

async def foo():
    pass

# The following line will fail with a RuntimeError, because
# ``wrapper`` creates a ``wrap(coro)`` coroutine:
foo()

यह भी देखें get_coroutine_wrapper()

संस्करण 3.5 में नई: देखें पीईपी 492 अधिक जानकारी के लिए।

ध्यान दें

यह फ़ंक्शन अनंतिम आधार पर जोड़ा गया है ( विवरण के लिए PEP 411 देखें।) इसका उपयोग केवल डीबगिंग उद्देश्यों के लिए करें।

संस्करण 3.7 के बाद से हटा दिया गया : कोरटाइन आवरण की कार्यक्षमता को हटा दिया गया है, और 3.8 में हटा दिया जाएगा। देखें bpo-32591 जानकारी के लिए।

sys._enablelegacywindowsfsencoding()

3.6 से पहले पायथन के संस्करणों के साथ स्थिरता के लिए डिफ़ॉल्ट फाइलसिस्टम एन्कोडिंग और त्रुटियों को क्रमशः 'mbcs' और 'बदलें' में बदल देता है।

यह PYTHONLEGACYWINDOWSFSENCODING पायथन लॉन्च करने से पहले पर्यावरण चर को परिभाषित करने के बराबर है ।

उपलब्धता: विंडोज

संस्करण 3.6 में नई: देखें पीईपी 529 अधिक जानकारी के लिए।

sys.stdin
sys.stdout
sys.stderr

मानक इनपुट, आउटपुट और त्रुटियों के लिए दुभाषिया द्वारा उपयोग की जाने वाली फ़ाइल ऑब्जेक्ट :

  • stdin सभी इंटरैक्टिव इनपुट (कॉल सहित input() ) के लिए उपयोग किया जाता है ;
  • stdout print() और expression बयान के उत्पादन के लिए और के संकेतों के लिए प्रयोग किया जाता है input() ;
  • दुभाषिया के स्वयं के संकेत और उसके त्रुटि संदेश जाते हैं stderr

ये धाराएँ नियमित पाठ फ़ाइलें हैं जैसे कि open() फ़ंक्शन द्वारा लौटाई जाती हैं। उनके पैरामीटर निम्नानुसार चुने गए हैं:

  • वर्ण एन्कोडिंग प्लेटफ़ॉर्म-निर्भर है। विंडोज के तहत, यदि स्ट्रीम इंटरएक्टिव है (अर्थात, यदि इसकी isatty() विधि वापस आती है True ), कंसोल कोडपेज का उपयोग किया जाता है, अन्यथा एएनएसआई कोड पेज। अन्य प्लेटफार्मों के तहत, स्थानीय एन्कोडिंग का उपयोग किया जाता है (देखें locale.getpreferredencoding() )।

    हालांकि सभी प्लेटफार्मों के तहत, आप PYTHONIOENCODING पायथन शुरू करने से पहले पर्यावरण चर सेट करके इस मान को ओवरराइड कर सकते हैं ।

  • जब इंटरेक्टिव, stdout और stderr स्ट्रीम लाइन-बफ़र्ड होते हैं। अन्यथा, वे नियमित पाठ फ़ाइलों की तरह ब्लॉक-बफर्ड हैं। आप -u कमांड-लाइन विकल्प के साथ इस मान को ओवरराइड कर सकते हैं ।

ध्यान दें

मानक धाराओं से / से द्विआधारी डेटा लिखने या पढ़ने के लिए, अंतर्निहित बाइनरी buffer ऑब्जेक्ट का उपयोग करें । उदाहरण के लिए, बाइट्स को लिखने के लिए stdout , उपयोग करें sys.stdout.buffer.write(b'abc')

हालांकि, यदि आप एक पुस्तकालय लिख रहे हैं (और यह नियंत्रित नहीं करते हैं कि किस संदर्भ में इसका कोड निष्पादित किया जाएगा), तो ध्यान रखें कि मानक धाराओं को फ़ाइल जैसी वस्तुओं से बदला जा सकता है, जैसे io.StringIO कि buffer विशेषता का समर्थन नहीं करते हैं ।

sys.__stdin__
sys.__stdout__
sys.__stderr__

इन वस्तुओं के मूल मान होते हैं stdin , stderr और stdout कार्यक्रम के शुरू में। उनका उपयोग अंतिम रूप देने के दौरान किया जाता है, और वास्तविक मानक धारा को प्रिंट करने के लिए उपयोगी हो सकता है, भले ही sys.std* ऑब्जेक्ट को पुनर्निर्देशित किया गया हो।

इसका उपयोग वास्तविक फ़ाइल को ज्ञात कामकाजी फ़ाइल ऑब्जेक्ट्स को पुनर्स्थापित करने के लिए भी किया जा सकता है, जब उन्हें टूटी हुई वस्तु के साथ ओवरराइट किया गया हो। हालांकि, ऐसा करने का पसंदीदा तरीका स्पष्ट रूप से इसे बदलने से पहले पिछली स्ट्रीम को सहेजना है, और सहेजे गए ऑब्जेक्ट को पुनर्स्थापित करना है।

ध्यान दें

कुछ शर्तों के तहत stdin , stdout और stderr साथ ही साथ मूल मूल्य __stdin__ , __stdout__ और __stderr__ हो सकते हैं None । यह आमतौर पर विंडोज जीयूआई ऐप के लिए मामला है जो कंसोल से जुड़ा नहीं है और पायथन ऐप की शुरुआत अजगर से हुई है

sys.thread_info

थ्रेड कार्यान्वयन के बारे में जानकारी रखने वाला एक संरचना अनुक्रम

गुण व्याख्या
name

धागा कार्यान्वयन का नाम:

  • 'nt' : विंडोज थ्रेड्स
  • 'pthread' : पोसिक्स धागे
  • 'solaris' : सोलारिस धागे
lock

ताला कार्यान्वयन का नाम:

  • 'semaphore' : एक लॉक एक सेमाफोर का उपयोग करता है
  • 'mutex+cond' : एक लॉक म्यूटेक्स और एक स्थिति चर का उपयोग करता है
  • None यदि यह जानकारी अज्ञात है
version थ्रेड लाइब्रेरी का नाम और संस्करण। यह एक स्ट्रिंग है, या None यदि यह जानकारी अज्ञात है।

संस्करण 3.3 में नया।

sys.tracebacklimit

जब यह चर एक पूर्णांक मान पर सेट होता है, तो यह एक अनचाहे अपवाद के होने पर छपी ट्रेसबैक सूचना के स्तरों की अधिकतम संख्या निर्धारित करता है। डिफ़ॉल्ट है 1000 । जब 0 या उससे कम पर सेट किया जाता है , तो सभी ट्रेसबैक जानकारी को दबा दिया जाता है और केवल अपवाद प्रकार और मूल्य मुद्रित होते हैं।

sys.version

पायथन दुभाषिया के संस्करण संख्या से युक्त एक स्ट्रिंग जो कि उपयोग की गई संख्या और संकलक पर अतिरिक्त जानकारी है। इंटरएक्टिव इंटरप्रेटर शुरू होने पर यह स्ट्रिंग प्रदर्शित होती है। संस्करण की जानकारी को बाहर न निकालें, बल्कि, उपयोग sys.version_info और platform मॉड्यूल द्वारा प्रदान किए गए कार्यों से ।

sys.api_version

इस दुभाषिया के लिए सी एपीआई संस्करण। प्रोग्रामर को यह उपयोगी लग सकता है जब पायथन और एक्सटेंशन मॉड्यूल्स के बीच संस्करण को डिबगिंग करता है।

sys.version_info

संस्करण संख्या के पांच घटकों से युक्त एक ट्यूल: प्रमुख , लघु , सूक्ष्म , रिलीज़लेवल और धारावाहिक रिलीज़वेल को छोड़कर सभी मान पूर्णांक हैं; रिहाई के स्तर का है 'alpha' , 'beta' , 'candidate' , या 'final'version_info अजगर 2.0 संस्करण के लिए इसी मूल्य है (2, 0, 0, 'final', 0) । घटकों को नाम से भी एक्सेस किया जा सकता है, इसलिए sys.version_info[0] इसके बराबर है sys.version_info.major

संस्करण 3.1 में परिवर्तित: घटक विशेषताओं को जोड़ा गया।

sys.warnoptions

यह चेतावनियों की रूपरेखा का कार्यान्वयन विवरण है; इस मान को संशोधित न करें। warnings चेतावनी ढांचे पर अधिक जानकारी के लिए मॉड्यूल देखें ।

sys.winver

वर्जन नंबर का इस्तेमाल विंडोज प्लेटफॉर्म पर रजिस्ट्री कीज बनाने में किया जाता है। यह पायथन डीएलएल में स्ट्रिंग संसाधन 1000 के रूप में संग्रहीत है। मूल्य आम तौर पर के पहले तीन वर्ण हैं version । यह sys सूचना के उद्देश्यों के लिए मॉड्यूल में प्रदान किया गया है; इस मूल्य को संशोधित करने से पायथन द्वारा उपयोग की जाने वाली रजिस्ट्री कुंजियों पर कोई प्रभाव नहीं पड़ता है। उपलब्धता: विंडोज।

sys._xoptions

-X कमांड-लाइन विकल्प के माध्यम से विभिन्न कार्यान्वयन-विशिष्ट झंडे का एक शब्दकोश पारित हुआ । विकल्प के नाम या तो उनके मानों में मैप किए जाते हैं, यदि स्पष्ट रूप से दिए गए हैं, या True । उदाहरण:

$ ./python -Xa=b -Xc
Python 3.2a3+ (py3k, Oct 16 2010, 20:14:50)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys._xoptions
{'a': 'b', 'c': True}

CPython कार्यान्वयन विवरण: यह CPython- विशिष्ट तरीका है जिसके माध्यम से प्रवेश विकल्प उपलब्ध हैं -X । अन्य कार्यान्वयन उन्हें अन्य साधनों के माध्यम से निर्यात कर सकते हैं, या बिल्कुल नहीं।

संस्करण 3.2 में नया।

उद्धरण

[C99] आईएसओ / आईईसी 9899: 1999। "प्रोग्रामिंग भाषाएँ - सी।" इस मानक का एक सार्वजनिक मसौदा http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf पर उपलब्ध है ।

Original text