[Tutor] os.path.join on windows 2000
Jeff Shannon
jeff@ccvcorp.com
Wed, 06 Feb 2002 09:34:23 -0800
> Danny Ruttle <danny@intuitivemedia.com> wrote:
>
> Sorry about that - I was trying a few directories during tests.
>
> The following call generates the same exception.
>
> if __name__ == "__main__":
> my_instance = line_parser("c:/test","s.txt","test1.txt")
>
> Any ideas?
My suspicion is that you'll have to abandon the idea of using forward slashes. Really, you're not benefiting
your cross-platform capabilities by it--if you're hardcoding in a "C:", then you might as well use a \ when
you're hardcoding pathnames. Once you've *got* a starting point, if you only use the os.path functions to
modify the path, then you'll be perfectly cross-platform, but you're going to need to do something to address
the different ways of handling filesystem roots anyhow.
Have you tried simply using "C:\\test" in the above example? Unless that fails too (and it shouldn't), then
simply dealing with platform-specific differences there will probably be easier than mucking about changing
attributes of os. (You could write a function like GetFilesystemRoot() that tests the os module for system
type, and returns 'c:\\', '/', etc.)
Jeff Shannon
Technician/Programmer
Credit International