Pyt hon मानक पुस्तकालय इसका उपयोग करता है, इसलिए यह सबसे निश्चित रूप से उचित और सुरक्षित है। एक उत्कृष्ट उदाहरण के लिए os
module source देखें:
if 'posix' in _names:
name = 'posix'
linesep = '\n'
from posix import *
try:
from posix import _exit
except ImportError:
pass
import posixpath as path
import posix
__all__.extend(_get_exports_list(posix))
del posix
यह काफी अजगर में सशर्त आयात मॉड्यूल आम है। if
के बजाय, आप अक्सर बहुत एक try:
/except ImportError:
संयोजन देखेंगे:
try:
from subprocess import check_output
except ImportError:
# Python 2.6 and before
def check_output(*popenargs, **kwargs):
from subprocess import Popen
if 'stdout' in kwargs:
raise ValueError('stdout argument not allowed, it will be '
'overridden.')
process = Popen(stdout=PIPE, *popenargs, **kwargs)
output, unused_err = process.communicate()
retcode = process.poll()
if retcode:
cmd = kwargs.get("args")
if cmd is None:
cmd = popenargs[0]
raise CalledProcessError(retcode, cmd)
return output
यहाँ, हम मूल रूप से एक if
परीक्षण के नैतिक बराबर का उपयोग करें: आप check_output
आयात कर सकते हैं, तो ऐसा है, अन्यथा पूर्ण समारोह परिभाषित करते हैं यहाँ।
एक आयात विवरण स्थानीय नाम पर कोड के बाहरी टुकड़े का पुनः बाध्यकारी है। आयात को नियंत्रित करने के लिए if
नियंत्रण प्रवाह का उपयोग उस संबंध में if
कथन में एक चर निर्दिष्ट करने से अलग नहीं है। आपको यह सुनिश्चित करने की ज़रूरत है कि आप किसी भी तरीके से परिभाषित किए बिना नाम का उपयोग न करें।
स्रोत
2012-10-12 14:17:58
बस यह सुनिश्चित करें कि इस पैकेज से आने वाले किसी भी फ़ंक्शन को कॉल न करें अगर यह आयात नहीं किया गया है – njzk2
हां यह है। यह आपको परेशान क्यों करता है? –
मैं पूछना और सुनिश्चित करना चाहता था। शायद मुझे 'चिंतित' शब्द का उपयोग करना चाहिए। अंग्रेजी मेरी मूल भाषा नहीं है। –