问题描述
我需要通过 Python 打开带有参数的 lnk 文件。在命令行上它看起来像这样:
FlashProgrammer -target=arm image.elf -device=xxxx -vdd=3V3 -erase=mass -program - secure
它有效。但是我怎么能在 Python 中做到这一点呢?我尝试了一些子进程,但得到一个错误:OSError: [WinError 193] %1 不是有效的 Win32 应用程序。我认为这是由于文件扩展名造成的。
示例代码:
import subprocess
flash_programmer_path = "FlashProgrammer.lnk"
args = "FlashProgrammer -target=arm image.elf -device=xxxxx -vdd=3V3 -erase=mass -program - secure"
subprocess.run([flash_programmer_path,args])
我尝试使用 subprocess.call 而不是 subprocess.run 给出与控制台中相同的参数。但是,这也不起作用。
解决方法
我应该使用 os.system(args)。然后它起作用了。案件已结。