पर कमांड लाइन विकल्प पास करने का कोई तरीका है मेरे पास एक मॉड्यूल है जो आयात करता है और कुछ टेस्टकेस हैं। मुझे कुछ कमांड लाइन विकल्पों को स्वीकार करने के लिए चाहिए (उदाहरण के लिए, डेटा फ़ाइल का नाम), लेकिन जब मैं विकल्प पास करने का प्रयास करता हूं तो मुझे संदेश "विकल्प-मैं पहचाना नहीं जाता"। क्या ऐप को विकल्प उपलब्ध कराने के लिए संभव है (नोट: मैं विकल्प को संभालने के लिए ऑप्टपर का उपयोग कर रहा हूं)? धन्यवाद।पायथन, unittest: ऐप
$ python test_app_data.py -i data_1.txt
option -i not recognized
=====================
अनुवर्ती:
import cfg_master #has the optparse option-handling code
...
if __name__ == '__main__':
#add you app's options here...
options_tpl = ('-i', '--in_dir', '-o', '--out_dir')
del_lst = []
for i,option in enumerate(sys.argv):
if option in options_tpl:
del_lst.append(i)
del_lst.append(i+1)
del_lst.reverse()
for i in del_lst:
del sys.argv[i]
unittest.main()
: इस सुझाव दिया समाधान के एक कार्यान्वयन है
फोन argparse.ArgumentParser कॉल करने से पहले() सामान्य शब्दों में, हाँ। इस मामले में, उत्तर उन विवरणों पर निर्भर करता है जो आपने नहीं दिए हैं। –
@jd। आपका "फॉलो-अप" उत्तर के रूप में पोस्ट किया जाना चाहिए - आपके प्रश्न में केवल ... अच्छा ... प्रश्न होना चाहिए। – user1251007