मुझे कमांड प्रॉम्प्ट में कमांड चलाने की आवश्यकता है लेकिन वे केवल तभी काम करते हैं जब कमांड प्रॉम्प्ट सिस्टम में किसी विशेष स्थान पर सेट हो। मुझे एक पायथन लिपि में चलाने के लिए निम्न आदेशों की आवश्यकता है:
import os
os.system("set OMP_NUM_THREADS=2")
os.system("explorer.exe /e,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"@
os.system("cd C:\CFD\crit_vel_01_02")
os.system("mpiexec -n 9 FDS crit_vel_01_02.fds")
os.system("PAUSE")
सिस्टम कमांड को नहीं पहचानता
os.system("mpiexec -n 9 FDS crit_vel_01_02.fds")
जब तक यह कमांड शेल में नहीं चलाया जाता है जो प्रोग्राम "fds" की स्थापना पर स्थापित होता है जो एक फायर डायनेमिक्स सिम्युलेटर है। मैं सराहना करता हूं कि यह कार्यक्रम के लिए काफी विशिष्ट लगता है लेकिन मुझे लगता है कि कुछ सामान्य तरीका है कि पाइथन एक अलग स्थान से/विभिन्न सेटिंग्स के साथ कमांड खोल चला सकता है।
कमांड प्रॉम्प्ट के शॉर्टकट को CMDfds कहा जाता है और इसमें स्थापित किया जाता है:
"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\FDS6"
गुणों में शॉर्टकट टैब में लक्ष्य है:
"सी: \ विंडोज \ System32 \ cmd.exe / k fdsinit"
2 जवाब
सुनिश्चित नहीं है कि यह काम करेगा लेकिन आप subprocess.run< पर कोशिश कर सकते हैं। /a> shell=True
के साथ।
यदि शेल सही है, तो निर्दिष्ट कमांड को शेल के माध्यम से निष्पादित किया जाएगा। यह उपयोगी हो सकता है यदि आप मुख्य रूप से उन्नत नियंत्रण प्रवाह के लिए पायथन का उपयोग कर रहे हैं जो यह अधिकांश सिस्टम शेल पर प्रदान करता है और फिर भी शेल पाइप, फ़ाइल नाम वाइल्डकार्ड, पर्यावरण चर विस्तार, और उपयोगकर्ता के घर में ~ के विस्तार जैसी अन्य शेल सुविधाओं तक सुविधाजनक पहुंच चाहता है। निर्देशिका।
Fds कमांड शेल से अजगर स्क्रिप्ट को चलाने का भी प्रयास करें। ऐसा लगता है कि खोल में सामान शुरू हो रहा है।
सिस्टम कमांड के साथ प्रोग्राम चलाने में समस्या यह है कि उनके पास अक्सर एक अलग शेल वातावरण होता है। इससे उत्पन्न होने वाली समस्याओं को रोकने के लिए पूर्ण पथ का उपयोग करना एक अच्छा विचार है। आपके मामले में:
os.system("mpiexec -n 9 FDS crit_vel_01_02.fds")
में बदला जाना चाहिए:
os.system("/absolute/path/to/mpiexec -n 9 FDS crit_vel_01_02.fds")
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।
os.system
कॉल के स्थान पर।