changeset: 79485:b94a9ff13199 branch: 2.7 parent: 79467:06772ba3d001 user: Jesus Cea date: Fri Oct 05 04:50:17 2012 +0200 files: Lib/platform.py description: #16112: platform.architecture does not correctly escape argument to /usr/bin/file. Use 'communicate()' diff -r 06772ba3d001 -r b94a9ff13199 Lib/platform.py --- a/Lib/platform.py Thu Oct 04 22:52:07 2012 +0300 +++ b/Lib/platform.py Fri Oct 05 04:50:17 2012 +0200 @@ -1045,13 +1045,12 @@ return default target = _follow_symlinks(target) try: - with open(DEV_NULL) as dev_null: - proc = subprocess.Popen(['file', '-b', '--', target], - stdout=subprocess.PIPE, stderr=dev_null) + proc = subprocess.Popen(['file', '-b', '--', target], + stdout=subprocess.PIPE, stderr=subprocess.DEVNULL) except (AttributeError,os.error): return default - output = proc.stdout.read() + output = proc.communicate()[0] rc = proc.wait() if not output or rc: return default