subprocess - When I write a python script to run Devenv with configure "Debug|Win32" it does nothing -


अपडेट: जब मैं subprocess.call के बजाय < कोड> सबप्रोसीस। पॉपिन , समस्या हल हो गई है - क्या किसी को पता है कि इसका कारण क्या है? और फिर एक और समस्या हुई: मुझे आउटपुट को नियंत्रित करने का एक तरीका नहीं मिल सकता है ... क्या कोई स्ट्रिंग या ऐसा कुछ करने के लिए subprocess.call से आउटपुट को रीडायरेक्ट करने का कोई तरीका है? धन्यवाद!

मैं परियोजनाओं के निर्माण के लिए Devenv का उपयोग करने की कोशिश कर रहा हूं, और जब मैं इसे कमांड प्रॉम्प्ट में devenv एएसएलएन / बिल्ड " डीबग | Win32 " - परन्तु जब मैं Popen (cmd, shell = true) का उपयोग कर इसे चलाने के लिए अजगर का उपयोग करता हूं जहां cmd उसी प्रकार की पंक्ति है, यह कुछ नहीं दिखाता है अगर मैं | को हटा देता हूं, तो इसे "code"> "डीबग" में बदलें, यह काम करता है ....

क्या कोई यह जानता है कि ऐसा क्यों होता है? मैंने \ से पहले | डालने की कोशिश की है, लेकिन अभी भी कुछ भी नहीं हुआ ..

यह मैं उपयोग कर रहा हूँ कोड है:

< पूर्व> उपप्रोसेस आयात से पॉपिन, पाइप सीएमडी = '' सी: \\ प्रोग्राम फ़ाइलें \\ माइक्रोसॉफ्ट विजुअल स्टूडियो 8 \\ आम 7 \\ आईडीई \ "डेवन" समाधान। एसएलएन / बिल्ड "डीबग | विन 32" 'सिस्टम Stdout.flush () p = Popen (cmd, shell = True, stdout = PIPE, stderr = PIPE) पंक्तियाँ = [] p.stdout.readlines () में पंक्ति के लिए: lines.append (line) out = string.join ( लाइनों) बाहर प्रिंट अगर out.strip (): print out.strip ('\ n') sys.stdout.flush ()

... जो काम नहीं करता है, हालांकि, अगर मैं डीबग; Win32 के साथ डीबग स्वैप करता हूँ, यह पूरी तरह से काम करता है ..

हर टिप्पणी के लिए धन्यवाद यहां

जब shell = False का उपयोग किया जाता है, यह स्ट्रिंग को एक कमांड के रूप में व्यवहार करेगा, ताकि आपको कमांड / Arugments एक सूची के रूप में .. कुछ ऐसा:

  उपप्रोसेस आयात से Popen, पाइप सीएमडी = [आर "सी: \ प्रोग्राम फ़ाइलें \ Microsoft Visual Studio 8 \ Common7 \ IDE \ devenv ", कच्चे आर में" blah "स्ट्रिंग, आपको" solutions.sln "," / build "," डीबग | Win32 "] p = Popen से बचने की आवश्यकता नहीं है (सीएमडी, stdout = PIPE, stderr = PIPE) बाहर = p.stdout.read () # स्ट्रिंग में पूर्ण आउटपुट पढ़ता है, इसमें लाइन ब्रेक प्रिंट आउट  

Comments

Popular posts from this blog

c++ - Linux and clipboard -

What is expire header and how to achive them in ASP.NET and PHP? -

sql server - How can I determine which of my SQL 2005 statistics are unused? -