CSV module, DictReader problem (bug?)

Fredrik Lundh fredrik at pythonware.com
Thu Nov 2 01:48:32 EST 2006


Fredrik Lundh wrote:

> if you're wrapping some cmd.exe command in an internal API, it's usually 
> easier to call "os.path.normpath" the last thing you do before you call 
> "os.system", than to get all the backslashes right in your code.
> 
> also see:
> 
> http://www.effbot.org/pyfaq/why-can-t-raw-strings-r-strings-end-with-a-backslash.htm

and as just I pointed out in a comment on that page, getting the slashes 
right doesn't help you with spaces in filenames.  to write reliable code 
for os.system, you want something like:

import os.path
import subprocess

def mysystem(command, *files):
     files = map(os.path.normpath, files)
     files = subprocess.list2cmdline(files)
     return os.system(command + " " + files)

mysystem("more", "/program files/subversion/readme.txt")

but then you might as well use subprocess.call, of course.

</F>




More information about the Python-list mailing list