我试图调用名称中包含括号的可执行文件(例如[https://i.stack.imgur.com/TGDkf.png][1]
)。
使用Python 3.6.2,当我尝试以下操作时:
'test(1).exe'
我明白了:
os.system('test(1).exe')
但如果我通过删除'test' is not recognized as an internal or external command, operable
program or batch file.
将文件名更改为'test1).exe'
,则以下内容可以成功运行:
'('
为什么左括号导致os.system('test1).exe')
出现问题的任何想法?
答案 0 :(得分:2)
在没有subprocess.call()
的情况下使用shell=True
可以避免以shell安全的方式引用参数:
subprocess.call(["test(1).exe"])
答案 1 :(得分:1)
解决方案:放一个' ^'在'之前的角色('像这样:
{{1}}