आम तौर पर, कमांड लाइन निष्पादन योग्य के लिए पहला तर्क स्क्रिप्ट नाम है, और बाकी अपेक्षित तर्क हैं।
यहां, argv
एक सूची है जिसमें दो मान होने की उम्मीद है: स्क्रिप्ट नाम और एक तर्क। पायथन के खोल संकेतन का उपयोग करके आप
script = argv[0]
filename = argv[1]
रूप
script, filename = argv
करते हुए भी त्रुटियों फेंक लिख सकते हैं, अगर वहाँ तर्क (एक या तीन) की तरह की एक अप्रत्याशित संख्या में हैं। किसी के कोड के आधार पर यह एक अच्छा विचार हो सकता है, क्योंकि यह भी सुनिश्चित करता है कि कोई अप्रत्याशित तर्क नहीं है।
हालांकि, निम्नलिखित कोड में filename
वास्तव में फ़ाइल नाम युक्त नहीं बनेगी:
filename = argv
इसका कारण यह है filename
अब तर्क सूची है। इसे समझने के लिए:
script, filename = argv
print("Script:", script) # Prints script name
print("Filename:", filename) # Prints the first argument
filename = argv
print("Filname:", filename) # Prints something like ["my-script.py", "my-file.txt"]
स्रोत
2012-12-02 04:21:34
असल में, मैं sys' से पहली पंक्ति को नहीं समझता। क्या कोई मुझे यह समझा सकता है? मैं अजगर के लिए नया हूँ। –
वास्तव में बिना किसी स्क्रिप्ट के कोड को चलाने से त्रुटि उत्पन्न होती है ** TypeError: यूनिकोड को कॉरर्सिंग: स्ट्रिंग या बफर की आवश्यकता है, सूची मिली ** –