संभव डुप्लिकेट:
Running a process in pythonw with Popen without a consoleमैं पायथन (2.7) में उत्पन्न प्रक्रियाओं से विंडोज कंसोल को कैसे हटा सकता हूं?
मैं विंडोज पर अजगर 2.7 का उपयोग कर रहा बैच रॉ DCRaw और जनहित याचिका का उपयोग करके रूपांतरण स्वचालित करने के लिए।
समस्या यह है कि जब भी मैं dcraw चलाता हूं (जो प्रत्येक सेकेंड सेकेंड होता है) मैं विंडोज कंसोल खोलता हूं। यदि मैं एक .py के रूप में स्क्रिप्ट चलाता हूं तो यह कम परेशान होता है क्योंकि यह केवल मुख्य विंडो खुलता है, लेकिन मैं केवल जीयूआई प्रस्तुत करना पसंद करूंगा।
मैं इतना है कि यह शामिल है:
args = [this.dcraw] + shlex.split(DCRAW_OPTS) + [rawfile]
proc = subprocess.Popen(args, -1, stdout=subprocess.PIPE)
ppm_data, err = proc.communicate()
image = Image.open(StringIO.StringIO(ppm_data))
धन्यवाद रिकार्डो रेयेस को
कि नुस्खा में होने वाले मामूली संशोधन, 2.7 में ऐसा लगता है कि आप _subprocess
से STARTF_USESHOWWINDOW
(प्राप्त करने की आवश्यकता आप pywin32
का भी उपयोग कर सकते हैं यदि आप ऐसा कुछ चाहते हैं जो बदलने के लिए थोड़ा कम प्रवण हो), तो पोस्टरिटी के लिए:
suinfo = subprocess.STARTUPINFO()
suinfo.dwFlags |= _subprocess.STARTF_USESHOWWINDOW
proc = subprocess.Popen(args, -1, stdout=subprocess.PIPE, startupinfo=suinfo)