New submission from Anthony Sottile:

First some expected output:

```
# from cmd.exe
C:\Users\Anthony>echo hi{1}
hi{1}
# from MINGW
$ echo hi{1}
hi{1}
```

```
# On ubuntu
$ echo 'hi{1}'
hi{1}
$ python3.5 -c "import subprocess; print(subprocess.check_output(('echo', 
'hi{1}')))"
b'hi{1}\n'
```

Now for the unexpected output (produced only by python on windows) (notice the 
missing braces)

```
C:\Python27\python.exe -c "import subprocess; 
print(subprocess.check_output(('echo', 'hi{1}')))"
hi1
C:\Python34\python.exe -c "import subprocess; 
print(subprocess.check_output(('echo', 'hi{1}')))"
b'hi1\n'
C:\Python35\python.exe -c "import subprocess; 
print(subprocess.check_output(('echo', 'hi{1}')))"
b'hi1\n'
```

Peculiarly, these all produce the output I expect:

```
C:\Python35\python.exe -c "import subprocess; 
print(subprocess.check_output(('echo', 'hi {1}')))"
b'hi {1}\n'
C:\Python35\python.exe -c "import subprocess; 
print(subprocess.check_output(('echo', 'hi{1}'), shell=True))"
b'hi{1}\r\n'
```

I don't have access to 3.6, but I imagine the issue exists there too.

----------
components: Windows
messages: 256043
nosy: Anthony Sottile, paul.moore, steve.dower, tim.golden, zach.ware
priority: normal
severity: normal
status: open
title: Improper subprocess output of arguments with braces in them on windows
versions: Python 2.7, Python 3.4, Python 3.5

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue25815>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to