मैं इस कार्यक्रम के साथ कॉल करने की कोशिश कर रहा हूं:
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;""])
यह किसी भी अतिरिक्त पार्सिंग के बिना सीधे तर्कों में गुज़रने के बिना, खोल के बिना इसे चलाने के बिना प्रोग्राम का आउटपुट देता है।