File names with slashes [was Re: error in os.chdir]

Chris Angelico rosuav at
Wed Jul 4 16:30:23 EDT 2018

On Thu, Jul 5, 2018 at 6:25 AM, Mikhail V <mikhailwas at> wrote:
> Joe Pfeiffer wrote:
>>> On Windows a path is e.g.:
>>> C:\programs\util\
>>> So what is reasonable about using forward slashes?
>>> It happens to me that I need to copy-paste real paths like 100 times
>>> a day into scripts - do you propose to convert to forward slashes each time?
>> That's what started the thread -- using backslashes caused a \a to be
>> interpreted as a special character instead of two characters in the
>> path.
> Yes, and the answer was a week ago: just put "r" before  the string.
> r"C:\programs\util"
> And it worked till now. So why should I replace backslashes with
> forward slashes?
> There is one issue that I can't write \ on the end:
> r"C:\programs\util\"
> But since I know it's a path and not a file, I just write without trailing \.

That's exactly the issue. But if you just always separate paths with
forward slashes, you never have a problem. There is no "replace"
happening; you simply use the correct path separation character from
the start. You can assemble strings from pieces without having to
remember to slap an "r" in front of each literal; you can have slashes
at the ends of strings; everything will just work.


More information about the Python-list mailing list