मैंने कई तर्कों के साथ पायथन के माध्यम से एक प्रक्रिया को कॉल करने का प्रयास किया। बैच फ़ाइल को निष्पादित करना मेरे लिए ठीक काम करता है लेकिन इसे पायथन में अनुवाद करने से मुझे चीख आती है। यहाँ बैच फ़ाइल की सामग्री:एक सबप्रोसेस निष्पादित करने में विफल रहता है
"C:\Program Files\bin\cspybat" "C:\Program Files\bin\armproc.dll" "C:\Program Files\bin\armjlink.dll" "C:\Documents and Settings\USER\Desktop\CAL\testing\Verification\FRT\Code\TC1\Output\Genericb\Debug\Exe\Gen.out" --download_only --backend -B "--endian=little" "--cpu=Cortex-M3" "--fpu=None" "-p" "C:\Program Files\CONFIG\debugger\ST\iostm32f10xxb.ddf" "--drv_verify_download" "--semihosting" "--device=STM32F10xxB" "-d" "jlink" "--drv_communication=USB0" "--jlink_speed=auto" "--jlink_initial_speed=32" "--jlink_reset_strategy=0,0"
निष्पादन योग्य है कि बैच फ़ाइल द्वारा चलाया जाता है cspybat
नाम पर है। निष्पादन योग्य का आउटपुट जानकारी प्रदान करता है: All parameters after
- are passed to the back end
वापसी करें।
यह भी ध्यान रखें कि कुछ पैरामीटर तार हैं और कुछ नहीं।
समाधान
वह मेरे लिए अब काम करता है:
""" MCU flashing function"""
params = [r"C:\Program Files\bin\cspy",
r"C:\Program Files\bin\arpro.dll",
r"C:\Program Files\bin\arjink.dll",
r"C:\Documents and Settings\USER\Desktop\Exe\GenerV530b.out",
"--download_only", "--backend", "-B", "--endian=little", "--cpu=Cort3", "--fpu=None", "-p",
r"C:\Program Files\CONFIG\debugger\ST\iostm32f10xxb.ddf",
"--drv_verify_download", "--semihosting", "--device=STM32F10xxB", "-d", "jlink", "--drv_communication=USB0",
"--jlink_speed=auto", "--jlink_initial_speed=32", "--jlink_reset_strategy=0,0" ]
print(subprocess.list2cmdline(params))
p = subprocess.Popen(subprocess.list2cmdline(params))
की तरह कुछ का उपयोग करें यदि आप कुछ वास्तविक कोड है कि आप उपयोग पोस्ट कर सकते हैं? –
नीचे देखें ....... – binaryguy
@ wanderameise: ऐसी जानकारी पोस्ट न करें जो प्रश्न को "उत्तर" के रूप में स्पष्ट करे। यह एक जवाब नहीं है। यह महत्वपूर्ण जानकारी है जो प्रश्न का हिस्सा होना चाहिए ताकि हम मदद कर सकें। कृपया अपने गैर-उत्तर को हटाएं, और अतिरिक्त जानकारी के साथ अपने प्रश्न को अपडेट करें। –