Albert-Jan Roskam wrote: > I was thinking it would also be possible to do (in Windows): > import os.path > os.path.sep = '/' > os.path.normpath('c:\\beeh/foo\\bar/baz') > > But alas, this still creates normalized windows-style paths.
If your input data has only forward slashes you can keep it that way with posixpath, i. e. >>> import posixpath >>> posixpath.join("foo", "bar") 'foo/bar' should produce the same result on windows. posixpath.normpath() cannot replace backward with forward slashes because the backslash is an ordinary character on Linux et. al. Fun fact: scripts written with Windows in mind sometimes work on Linux, with the output going to unexpected places: $ python3 Python 3.4.3 (default, Nov 28 2017, 16:41:13) [GCC 4.8.4] on linux Type "help", "copyright", "credits" or "license" for more information. >>> with open("c:\\foo\\bar.txt", "w") as f: print("hi", file=f) ... >>> $ ls c:\foo\bar.txt _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor