বিভিন্ন ধরণের ডিগ্রি আগে এই ধরণের প্রশ্ন জিজ্ঞাসা করা হয়েছিল, তবে আমি মনে করি এটি সংক্ষিপ্তভাবে উত্তর দেওয়া হয়নি এবং তাই আমি আবার এটি জিজ্ঞাসা করি।
আমি পাইথনে স্ক্রিপ্ট চালাতে চাই। আসুন বলি এটি এটি:
if __name__ == '__main__':
with open(sys.argv[1], 'r') as f:
s = f.read()
print s
যা একটি ফাইলের অবস্থান পায়, এটি পড়ে, তার সামগ্রীগুলি মুদ্রণ করে। এত জটিল নয়।
ঠিক আছে, তো আমি কীভাবে এটি সি # তে চালাব?
আমার এখন যা আছে:
private void run_cmd(string cmd, string args)
{
ProcessStartInfo start = new ProcessStartInfo();
start.FileName = cmd;
start.Arguments = args;
start.UseShellExecute = false;
start.RedirectStandardOutput = true;
using (Process process = Process.Start(start))
{
using (StreamReader reader = process.StandardOutput)
{
string result = reader.ReadToEnd();
Console.Write(result);
}
}
}
যখন আমি code.py
অবস্থানটি cmd
এবং filename
অবস্থানটি যেমন args
কাজ করে না তখন পাস করি । আমাকে বলা হয়েছে আমি পাস করা উচিত python.exe
হিসাবে cmd
, এবং তারপর code.py filename
হিসাবে args
।
আমি এখন কিছুক্ষণ সন্ধান করেছি এবং কেবলমাত্র লোকে পাইথন বা এ জাতীয় ব্যবহার করার পরামর্শ দিচ্ছে এমন লোককে দেখতে পাচ্ছি। তবে সি # থেকে পাইথন স্ক্রিপ্ট কল করার একটি উপায় থাকতে হবে।
কিছু স্পষ্টতা:
আমার এটি সি # থেকে চালানো দরকার, আমার আউটপুট ক্যাপচার করতে হবে এবং আমি আয়রন পাইথন বা অন্য কিছু ব্যবহার করতে পারি না। আপনার যা কিছু হ্যাক ঠিক আছে।
পিএস: আমি যে প্রকৃত পাইথন কোডটি চালাচ্ছি এটি এর চেয়ে অনেক বেশি জটিল এবং এটি সি # তে আমার যা প্রয়োজন তা আউটপুট দেয় এবং সি # কোড অবিরাম পাইথন কোডটি কল করবে।
এটি আমার কোড ভান করুন:
private void get_vals()
{
for (int i = 0; i < 100; i++)
{
run_cmd("code.py", i);
}
}