2011-11-01 6 views
6
import sys 

    print sys.argv[1] 

हाय पढ़ा जाएगा नहीं,अजगर sys.argv

यह बहुत ही बुनियादी लग सकता है, लेकिन मैं अजगर कमांड लाइन से कुछ भी में पढ़ने के लिए नहीं कर सकते। ऊपर कोड thats और मैं क्या लिखना है:

myfile.py helloworld 

और क्या मैं वापस पाने:

IndexError: list index out of range 

यह मेरे लिए एक बार काम करने के लिए लग रहा था, लेकिन किसी भी अधिक काम नहीं करेगा, और मैं मैंने पायथन को अनइंस्टॉल करने और पुनर्स्थापित करने का प्रयास किया है और यह अभी भी काम नहीं करता है।

तो मेरा सवाल है, क्या मैं कुछ गलत कर रहा हूं? या मैंने अभी पाइथन तोड़ दिया है?

किसी भी मदद

का उपयोग करने के लिए धन्यवाद: विंडोज 7 अजगर 2.7.2

+0

क्या होता है जब तुम सिर्फ 'प्रिंट sys.argv' HKEY_CLASSES_ROOT \ आवेदन \ python26.exe \ खोल \ खुला \ आदेश के लिए कुंजी सेट? और यह फ़ाइल को 'python.exe myfile.py helloworld' के माध्यम से कॉल करते समय काम करता है? – poke

+0

आह, आपके responces के लिए धन्यवाद, यह काम करने में कामयाब रहे। में बहुत मूर्खतापूर्ण गलती थी, सिस्टम चरों में पथ में पायथन नहीं जोड़ा – user1024028

+0

उन लोगों के लिए जिन्हें विंडोज़ में एक स्क्रिप्ट के लिए तर्कों को पारित करने में परेशानी हो रही है, बिना पायथन (जैसे 'पायथन foo.py a' काम करता है लेकिन' foo। पीई ए 'नहीं करता है,) पहले जवाब से पहले स्क्रॉल करें। – eenblam

उत्तर

5

क्या आप वाकई अपने अजगर स्क्रिप्ट रास्ता आपको लगता है कि आप कर रहे हैं बुला रहे हैं कर रहे हैं?

#!/usr/bin/python 
import sys 

if len(sys.argv) < 2: 
    print "you did not give any arguments\n" 
else: 
    print sys.argv[1] 

रिटर्न:

$ ./foo.py 
you did not give any arguments 

$ ./foo.py hello_world 
hello_world 
$ 
+0

आपके responce के लिए धन्यवाद, यह – user1024028

11

रजिस्ट्री संपादक (regedit) की शुरुआत करें। इस समाधान का "C:\Python26\python26.exe" "%1" %*

स्रोत:: http://eli.thegreenplace.net/2010/12/14/problem-passing-arguments-to-python-scripts-on-windows/

+2

वाह काम करने में कामयाब रहा, यह रजिस्ट्री चूक हमें आज बिताती है, हम एक पायथन 2.7 एनाकोंडा और 3.4 स्थापना पक्ष को संतुलित करने की कोशिश कर रहे थे। 3.4 इंस्टॉलर ने '% *' तर्क छोड़ा लेकिन हमें इसे 'HKEY_CLASSES_ROOT \ अनुप्रयोग \ pythonxx.exe \ shell \ open \ command' कुंजी के साथ-साथ' HKEY_CLASSES_ROOT \ py_auto_file \ shell \ open \ command दोनों के लिए सेट करने की आवश्यकता है ' – jxramos

+0

आपके उत्तर के लिए धन्यवाद –