/ / Os.popen - पायथन, पाइप, पॉपन का उपयोग कर कमांड में ':' को कैसे संभालें

Os.popen - पायथन, पाइप, पॉपन का उपयोग कर कमांड में ':' को कैसे संभालें

मैं इस कार्यक्रम के साथ कॉल करने की कोशिश कर रहा हूं:

os.popen("program -s:"*" -c:"A;B;C;"")

हालांकि, ऐसा लगता है कि इसे खोल कमांड के रूप में व्याख्या किया गया था:

program -s "*" -c "A;B;C;"

जिसके परिणामस्वरूप गलत व्यवहार होता है।

क्या कोई मेरी मदद कर सकता है कि इस तरह के बैठकों को कैसे हल किया जाए, जहां ":" खोल कमांडलाइन के अंदर है?

उत्तर:

उत्तर № 1 के लिए 1

उपयोग नहीं करते हैं os.popen(), उपयोग subprocess मॉड्यूल बजाय:

import subprocess

result = subprocess.check_output(["program", "-s:"*"", "-c:"A;B;C;""])

यह किसी भी अतिरिक्त पार्सिंग के बिना सीधे तर्कों में गुज़रने के बिना, खोल के बिना इसे चलाने के बिना प्रोग्राम का आउटपुट देता है।