podwójny cytat uciekający w os.system w oknach

Chcę uciec „” i wszystkie inne dzikie znaki w nazwie programu i argumentach, więc staram się je podwójnie cytować i mogę to zrobić w cmd.exe

C:\bay\test\go>"test.py" "a" "b"  "c"
hello
['C:\\bay\\test\\go\\test.py', 'a', 'b', 'c']

ale co jest nie tak z poniższym kodem za pomocą os.sytem?

cmd = '"test.py" "a" "b" "c"'
print cmd
os.system(cmd)

jego wyjście:

C:\bay\test\go>test2.py
"test.py" "a" "b" "c"
'test.py" "a" "b" "c' is not recognized as an internal or external command,
operable program or batch file.

Dlaczego cały ciąg „” test.py ”„ a ”„ b ”„ c ”” jest rozpoznawany jako pojedyncze polecenie? Ale poniższym przykładem nie jest:

cmd = 'test.py a b c'
print cmd
os.system(cmd)

C:\bay\test\go>test2.py
test.py a b c
hello
['C:\\bay\\test\\go\\test.py', 'a', 'b', 'c']

Dzięki!

questionAnswers(4)

yourAnswerToTheQuestion