On 08/24/2015 02:28 PM, Nikolaus Rath wrote:
*shudder*. After years of efforts to get people not to do this, you want to change course by 180 degrees and start telling people this is ok if they add an additional single character in front of the string?
This sounds like very bad idea to me for many reasons:
- People will forget to type the 'e', and things will appear to work but buggy. - People will forget that they need the 'e' (and the same thing will happen, further reinforcing the thought that the e is not required) - People will be confused because other languages don't have the 'e' (hmm. how do I do this in Perl? I guess I'll just drop the 'e'... *check*, works, great!) - People will assume that their my_custom_system() call also special-cases e strings and escape them (which it won't).
No, since the variables will not be replaced, therefore the command-line won't work. The previous proposals ignored this altogether. A partial solution is better than none, I think. I don't propose we document this as the recommended way, anyway. subprocess.call('foo', shell=False) is that. This is just a way to do the right thing in a number of common situations where we can do it. -Mike