I have a small python snippet that calls a larger program (I did not write the larger one).
call(['function1', file1, file2, 'data.labels=abc, xyz'])
The above works.
input ='abc, xyz'
Now I want to input "abc, xyz" as a variable holding this value
call(['function1', file1, file2, 'data.labels=input'])
but it does not work.
How can I pass a variable value into variable data.labels within call subprocess.
'abc, xyz'and somehow get the string'data.labels=abc, xyz'"? The answer isn't really specific tocallat all, just ordinary string manipulation.subprocess.call()on Windows whereCreateProcess()is used to start the child process that accepts a single string as a command, seesubprocess.list2cmdline(). In other words, you can't pass arbitrary unescaped values on Windows becauselist2cmdline()doesn't cover all possible cases.