মার্তিজেনের উত্তরটি বোধগম্য হয়, তবে এটি এমন কিছু গুরুত্বপূর্ণ বিষয় হারিয়েছিল যা অন্যের কাছে সুস্পষ্ট বলে মনে হতে পারে তবে আমার পক্ষে তা নির্ধারণ করা শক্ত ছিল।
আপনি যে সংস্করণটি আরগপার্স ব্যবহার করেন সেখানে আপনার মূল শৃঙ্খলে এই লাইন থাকা দরকার।
args = parser.parse_args(args)
সাধারণত যখন আপনি কেবল একটি স্ক্রিপ্টে আরগপার্স ব্যবহার করছেন তখন আপনি কেবল লিখুন
args = parser.parse_args()
এবং parse_args কমান্ড লাইন থেকে যুক্তিগুলি সন্ধান করে। তবে এক্ষেত্রে মূল ফাংশনে কমান্ড লাইন আর্গুমেন্টের অ্যাক্সেস নেই, সুতরাং আপনাকে আরগপার্স বলতে হবে আর্গুমেন্টগুলি কী।
এখানে একটি উদাহরণ
import argparse
import sys
def x(x_center, y_center):
print "X center:", x_center
print "Y center:", y_center
def main(args):
parser = argparse.ArgumentParser(description="Do something.")
parser.add_argument("-x", "--xcenter", type=float, default= 2, required=False)
parser.add_argument("-y", "--ycenter", type=float, default= 4, required=False)
args = parser.parse_args(args)
x(args.xcenter, args.ycenter)
if __name__ == '__main__':
main(sys.argv[1:])
ধরে নিলে আপনি এই মাইস্টেস্ট.পিটির নাম দিয়েছেন এটি চালানোর জন্য আপনি কমান্ড লাইন থেকে এগুলির যে কোনও একটি করতে পারেন
python ./mytest.py -x 8
python ./mytest.py -x 8 -y 2
python ./mytest.py
যা যথাক্রমে ফিরে আসে
X center: 8.0
Y center: 4
বা
X center: 8.0
Y center: 2.0
বা
X center: 2
Y center: 4
অথবা আপনি যদি অন্য একটি অজগর স্ক্রিপ্ট থেকে চালাতে চান তবে আপনি এটি করতে পারেন
import mytest
mytest.main(["-x","7","-y","6"])
যা ফিরে আসে
X center: 7.0
Y center: 6.0
myModule.main()
। এ পর্যন্ত কি কি চেষ্টা করেছ?