On Thu, 12 May 2005 14:20:29 -0000, Grant Edwards <[EMAIL PROTECTED]> wrote:

>On 2005-05-12, Brian van den Broek <[EMAIL PROTECTED]> wrote:
>
>>> b1="c:\test.txt"
>>> os.system('notepad.exe ' + b1)
>>> 
>>> However, the t of test is escaped by the \, resulting in Notepad trying 
>>> to open "c: est.txt".
>
>> There are several ways, but the preferred solution is to switch the 
>> slash direction: "c:/test.txt". Python's smart enough to notice its 
>> running on Windows and do the right thing with the slash.
>
>Does Python really look at the string and mess with the slash?
>I don't think it needs to, since the Windows system calls have
>always accepted forward slashses, haven't they?
>
For a path parameter, I think so. But various command shells us '/' the
way unix uses '-' -- i.e., for options/switches. E.g.
    ls -R foo/bar
would work as
    dir /s "foo/bar"
since the shell would pass on the quoted string to the os level (with quotes 
removed)
Likewise
    dir foo\bar/s
would work, but not
    dir foo/bar/s
or
    dir/s foo/bar

I don't know why MS used backslashes when unix had a perfectly good path syntax
(not to mention drive letter idiocy). Maybe some legal idiocy, wanting to be
different to be safe from SCO types?

Regards,
Bengt Richter
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to