क्या पायथन लिपि में तर्क पारित करना संभव है?


17

मुझे पता है कि एक शेल स्क्रिप्ट में तर्कों को कैसे पारित किया जाता है। इन तर्कों को AWS डेटापिपलाइन में घोषित किया गया है। यह एक शेल स्क्रिप्ट की तरह दिखेगा:

firstarg=$1
secondarg=$2

मैं पायथन में यह कैसे करूँ? क्या यह ठीक वैसा ही है?


क्या आपने पूछने से पहले खोजने की कोशिश की है? Python script में तर्कों को पारित करने के लिए Google की खोज करने से आपको आवश्यक सभी जानकारी मिल जाएगी। 4 वीं कड़ी के रूप में मुझे स्टैकओवरफ़्लो से पायथन में कमांड लाइन आर्गुमेंट्स का प्रश्न मिला ।
पियोट्र डोब्रोगोस्ट

3
Python script में तर्कों को पारित करने के लिए Google खोजना इस पोस्ट को लाता है ।
डेविस एंड्रिया

जवाबों:


31

यह मेरे लिए काम किया:

import sys
firstarg=sys.argv[1]
secondarg=sys.argv[2]
thirdarg=sys.argv[3]

हां, यह काम करता है। किसी कारण के लिए, अनुक्रमण 0. पर शुरू नहीं होता है, इसलिए sys.argv[0]कुछ भी नहीं के बराबर है
बस

14
argv[0]लिपि का नाम होना चाहिए
पीटर गेर्हट

3

आप argv का उपयोग sys से कर सकते हैं

from sys import argv
arg1, arg2, arg3, ... = argv

आप वास्तव में कमांड लाइन में तर्कों की एक संख्या को कम कर सकते हैं। Argv तर्कों के साथ एक सूची होगी। इस प्रकार इसे arg1 = sys.argv [0] arg2 = sys.argv [1] भी कहा जा सकता है। । ।

यह भी ध्यान रखें कि sys.argv [0] केवल आपके पायथन प्रोग्राम का नाम है। जब आप कमांड लाइन इनपुट का उपयोग करते हैं, तो इसके अतिरिक्त, "eval" और "exec" फ़ंक्शन अच्छे हैं। आमतौर पर, कमांड लाइन में सब कुछ एक स्ट्रिंग के रूप में व्याख्या की जाती है। इसलिए, यदि आप कमांड लाइन में एक सूत्र देना चाहते हैं तो आप eval () का उपयोग करें।

>>> x = 1
>>> print eval('x+1')
2

0
import sys
print("Script name ", sys.argv[0])
print(first arsys.argv[1])

1
आपको इसे नमूना थिंकपैड में दर्ज करना चाहिए और पैरामीटर के साथ कॉल करना चाहिए।
अरुणसिंह

अरुणस्क, आप अपनी टिप्पणी शामिल करने के लिए अपने उत्तर को संपादित कर सकते हैं। :)
जेम्स स्किन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.