diff --git a/Lib/platform.py b/Lib/platform.py
index 79695ba..495433d 100755
--- a/Lib/platform.py
+++ b/Lib/platform.py
@@ -113,7 +113,7 @@
 
 __version__ = '1.0.7'
 
-import sys,string,os,re
+import sys, string, os, re, subprocess
 
 ### Globals & Constants
 
@@ -966,13 +966,19 @@
     if sys.platform in ('dos','win32','win16','os2'):
         # XXX Others too ?
         return default
-    target = _follow_symlinks(target).replace('"', '\\"')
+    target = _follow_symlinks(target)
     try:
-        f = os.popen('file "%s" 2> %s' % (target, DEV_NULL))
+        proc = subprocess.Popen(
+            ['file', target],
+            stdout=subprocess.PIPE,
+            stderr=open(DEV_NULL, 'wb'))
     except (AttributeError,os.error):
         return default
-    output = string.strip(f.read())
-    rc = f.close()
+    stdout, stderr = proc.communicate()
+    stdout = stdout.rstrip(b'\n\r')
+    # get output from "filename: output"
+    output = stdout.split(b': ', 1)[-1]
+    rc = proc.wait()
     if not output or rc:
         return default
     else:
@@ -988,8 +994,6 @@
     'dos': ('','MSDOS'),
 }
 
-_architecture_split = re.compile(r'[\s,]').split
-
 def architecture(executable=sys.executable,bits='',linkage=''):
 
     """ Queries the given executable (defaults to the Python interpreter
@@ -1024,11 +1028,11 @@
 
     # Get data from the 'file' system command
     if executable:
-        output = _syscmd_file(executable, '')
+        fileout = _syscmd_file(executable, '')
     else:
-        output = ''
+        fileout = ''
 
-    if not output and \
+    if not fileout and \
        executable == sys.executable:
         # "file" command did not return anything; we'll try to provide
         # some sensible defaults then...
@@ -1040,9 +1044,6 @@
                 linkage = l
         return bits, linkage
 
-    # Split the output into a list of strings omitting the filename
-    fileout = _architecture_split(output)[1:]
-
     if 'executable' not in fileout:
         # Format not supported
         return bits,linkage
