Saturday, 15 September 2012

Running Script in CMD Works but when ran using Process.Start() in C# python script fails -


मेरे पास एक अजगर स्क्रिप्ट है, changeDates.py , जो सफलतापूर्वक सी # प्रोग्राम के बाहर चलाता है में आदेश द्वारा cmd:

<कोड> अजगर changeDates.py पथ / / फ़ोल्डर में NUMBEROFMONTHS numberOfWeeks testSetsToCheck

इन तर्कों सभी स्ट्रिंग्स हैं। नंबरऑफमोन्थ्स और नंबरओफ़ोइक्स पैथॉन स्क्रिप्ट को एक स्ट्रिंग के रूप में पारित किया जाता है, फिर स्क्रिप्ट के अंदर एक int में कनवर्ट किया जाता है।

लेकिन अगर मैं का उपयोग कर एक ही आदेश को चलाने के लिए किए गए:

  निजी शून्य run_CMD (स्ट्रिंग cmd, स्ट्रिंग args, bool संदेशबॉक्स) {try {Console.WriteLine (cmd) ; Console.WriteLine (args); ProcessStartInfo प्रारंभ करें = नया प्रोसेस्टस्टटाइन्फ़ो (); Start.FileName = सीएमडी; Start.Arguments = args; Start.UseShellExecute = false; Start.RedirectStandardOutput = सच; (प्रक्रिया प्रक्रिया = प्रक्रिया। प्रारंभ (प्रारंभ)) का उपयोग कर ({StreamReader reader = process.StandardOutput}} {string result = reader.ReadToEnd (); Console.Write (परिणाम); }}} पकड़ (अपवाद पूर्व) {Console.WriteLine ("पैकेज की तारीखों को जांचने में त्रुटि: \ n" + पूर्व); लकड़हारा। लिखो (लकड़हारा। लेवल। एसर, "पैकेज की तारीखों को जांचने में त्रुटि: \ n" + पूर्व); }}  

स्क्रिप्ट शुरू होता है और निम्न त्रुटि आउटपुट:

  C: \ Users \ bblashko \ दस्तावेज़ \ VisualStudio2012 \ परियोजनाओं \ Athena_Test_Automation_Fr amework \ Athena_Test_Automation_Framework \ स्क्रिप्ट \ changeDates.py C: \ Users \ \ VisualStudio2012 \ Athena_Test_Automation_Framework \ Athena_Te st_Automation_Framework \ Test_Cases 6 1 00100 Traceback (सबसे हाल कॉल पिछले) \ परियोजनाओं bblashk ओ \ दस्तावेज़: फ़ाइल "C: \ Users \ bblashko \ दस्तावेज़ \ VisualStudio2012 \ परियोजनाओं \ एथेना_टाटमा tion_framamework \ एथेना_टाईट_आटॉमेशन_फ्रेमवर्क \ स्क्रिप्ट \ changeDates.py ", रेखा 51 0, इन & lt; मॉड्यूल & gt; allFiles = checkContent (सामग्री, subdir, पूर्णांक (sys.argv [2]), पूर्णांक (sys.argv [3])) फ़ाइल "C: \ Users \ \ \ Athena_Test_Automa tion_Framework \ Athena_Test_Automation_Framework \ bblashko \ दस्तावेज़ VisualStudio2012 \ परियोजनाओं लिपियों \ ChangeDates.py ", पंक्ति 47, जांच मेंसंयंट चेक XLSX (f, सबडिअर, संख्याओफ़ोमॉन्स, संख्याऑफ़वैक) फ़ाइल" C: \ users \ bblashko \ दस्तावेज़ \ VisualStudio2012 \ Projects \ एथेना_टाइटोमा tion_framework \ एथेना_टाइटमेशन_फ्रेमवर्क \ स्क्रिप्ट \ changeDates.py ", पंक्ति 85, चेक XLSX changeDate = checkXLSXDates (salesStartDate, pubDate, प्रकार, todaydate, check date) फ़ाइल "C: \ users \ bblashko \ दस्तावेज़ \ VisualStudio2012 \ Projects \ एथेना_कास्टोमा tion_framamework \ एथेना_टाटमातन_फ्रेमवर्क \ स्क्रिप्ट \ changeDates.py", पंक्ति 15 7, चेक XLSXDates में अगर (फिर से खोज ("(\ w \ w) / (\ w \ w) / (\ w \ w \ w \ w)", salesstartDate) और re.search ("(\ w \ w) / (\ w \ डब्ल्यू) / (\ w \ w \ w \ डब्ल्यू) ", pubDate)): फ़ाइल" C: \ Python34 \ lib \ re.py ", लाइन 166, खोज बदले में _compile (पैटर्न, झंडे) .search ( स्ट्रिंग) TypeError: अपेक्षित एस Tring या बफर  

अजगर में regex अचानक क्यों एक त्रुटि का परिणाम होगा? मैं यह कैसे तय कर सकता हूं?

आप अपने re.search < / कोड> फ़ंक्शन एक अजगर मॉड्यूल है और जब आप अपने अजगर कोड को उसी तरह कार्यान्वित करते हैं तो वेरिएबल स्ट्रिंग सही ढंग से असाइन नहीं होता! तो सबसे पहले अजगर कुंजी शब्दों और अंतर्निहित नाम आपके चर नामों के रूप में, और इस स्थिति की सवारी पाने के लिए आपको अपने कोड में string को असाइन करने के तरीके की जांच करनी होगी!


No comments:

Post a Comment