double quote escaping in os.system on windows

前端 未结 4 1465
一整个雨季
一整个雨季 2020-12-19 22:01

I want to escape \'\"\' and all other wild chars in program name and arguments, so I try to double quote them. and I can do this in cmd.exe

C:\\bay\\test\\go         


        
相关标签:
4条回答
  • 2020-12-19 22:43

    Enclose the arguments in brackets, it works.

    CMD /k ("c:\batch files\test.cmd" "Parameter 1 with space" "Parameter2 with space")
    
    0 讨论(0)
  • 2020-12-19 22:55

    Try with os.system('python "test.py" "a" "b" "c"')

    You can also use subprocess module for that kind of purpose,

    please take a look this thread

    UPDATE:When I do, os.system('"test.py" "a" "b" "c"'), I got similar errors, but not on os.system('test.py "a" "b" "c"'), So, I like to assume that first parameter should not be double-quoted

    0 讨论(0)
  • 2020-12-19 22:55

    Furthing google comes this page

    http://ss64.com/nt/syntax-esc.html

    To launch a batch script which itself requires "quotes" 
    CMD /k ""c:\batch files\test.cmd" "Parameter 1 with space" "Parameter2 with space"" 
    

    cmd = '""test.py" "a" "b" "c""' does work!

    0 讨论(0)
  • 2020-12-19 22:55

    Actually, it just work as design. You can NOT use os.system like that. See this: http://mail.python.org/pipermail/python-bugs-list/2000-July/000946.html

    0 讨论(0)
提交回复
热议问题