2011-02-02 11 views
8

मैंने एक पायथन फ़ाइल xxxxxx.py डाउनलोड की है जिसे टाइपिंग द्वारा कमांड लाइन पर चलाने के लिए माना जाता है: python xxxxxx.py filename1 filename2 और इन दो फ़ाइलों को तर्क के रूप में लेना चाहिए।आईडीएलई का उपयोग कर पायथन कार्यक्रम में कमांड लाइन तर्क पास करना?

मैं सोच रहा था कि क्या कोई तरीका है कि मैं इन तर्कों में प्रवेश करने के लिए आईडीएलई का उपयोग कर सकता हूं। sys.argv सेट करने के अलावा कोई दूसरा तरीका है?

धन्यवाद

+5

मुझे समझ नहीं आता क्यों लोग कि निष्क्रिय सोच पर जोर देते हैं कुछ उपयोगी है। –

+0

कृपया, आप मुझे एक आईडीई पर सुझाव दे सकते हैं जो आपको लगता है कि विंडोज़ के लिए उपयोगी है। मैं –

+0

की सराहना करता हूं आप रन टाइम पर आईडीएलई में तर्क नहीं देते हैं। कमांड लाइन पर बस अपना कमांड टाइप करना आसान है। कमांड लाइन पर 'python xxxxxx.py filename1 filename2' टाइप करने से आपको क्या रोकता है? या कमांड लाइन पर इसे कॉपी और पेस्ट कर रहे हैं? या कमांड लाइन पर फिर से टाइप करने के लिए ऊपर तीर का उपयोग कर? –

उत्तर

4

आप के साथ कमांड लाइन से ऐसा कर सकते हैं:

तर्क यहाँ idle.py -r scriptname.py डाल

आप ActivePython

की तरह एक अलग आईडीई कोशिश कर सकते हैं

या आप निष्क्रिय पैच कर सकते हैं :

http://bugs.python.org/issue5680

+0

अगर मैं विंडोज़ पर हूं। मेरा पथ अब सी है: \ Python26 ... आदि \ idlelib ताकि मैं निष्क्रिय चला सकूं। लेकिन लिपि कहीं और है और इसलिए इसे नहीं मिल रहा है, मुझे क्या करना चाहिए? –

+0

कभी नहीं मन! मैंने उन्नत सिस्टम सेटिंग्स –

+1

में पथ पर सी: \ Python26 \ Lib \ idlelib को अभी जोड़ा है बस अपने कोड के भीतर sys.argv को संशोधित करें। उदाहरण के लिए 'sys.argv = ['scriptname.py', 'arg1', 'arg2', 'arg3']' – SomeGuyOnAComputer

6

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

#! /usr/bin/env python 

def process(files): 
    for file in files: 
     # ... 

if __name__ == '__main__' 
    # some error checking on sys.argv 
    process(sys.argv[1:]) 
    sys.exit(0) 

तो फिर तुम बस अजगर फ़ाइल आयात और इसे पसंद पड़ सकते है:

import name_of_file 

# ... 
     name_of_file.process([file1, file2, file3]) 
# ... 

तो, यह वास्तव में यह कैसे लिखा जाता है पर निर्भर करता है। यदि यह अच्छी तरह से लिखा नहीं गया है लेकिन आप इसे संपादित कर सकते हैं, तो मैं इसे पुन: सक्रिय कर दूंगा ताकि इसे लाइब्रेरी के रूप में उपयोग किया जा सके; अन्यथा, मैं प्रोग्राम को आमंत्रित करने के लिए उपप्रोसेसर मॉड्यूल का उपयोग करूंगा।

+1

जब मैं पाइथन स्क्रिप्ट चलाता हूं तो मैं रन टाइम पर तर्क पास करना चाहता हूं। क्या ऐसा करने के लिए कोई रास्ता है? –