Double backslash in filepaths ?

Michael Bentley michael at jedimindworks.com
Sat Apr 14 05:50:26 EDT 2007


On Apr 14, 2007, at 4:26 AM, Stef Mientki wrote:

> It looks like sometimes a single backslash is replaced by a double  
> backslash,
> but sometimes it's not ???
> See the error message below,
> the first backslash is somewhere (not explicitly in my code) replaced,
> but the second is not ???
> Is it in general better to use double backslash in filepaths ?
>
> thanks,
> Stef Mientki
>
>
>>>> Write_Signal_File_Ext (IOO, fSamp, 'D:\data_to_test 
>>>> \test_global.pd')
> Traceback (most recent call last):
>      File "<string>", line 21, in ?
>      File "D:\data_to_test\Signal_WorkBench.py", line 118, in  
> Write_Signal_File_Ext
>          DataFile.Write_Data (Data)
>      File "D:\data_to_test\Signal_WorkBench.py", line 95, in  
> Write_Data
>          self.Write_Header(Nchan)
>      File "D:\data_to_test\Signal_WorkBench.py", line 83, in  
> Write_Header
>          self.datafile = open(self.filename,'wb')
> IOError: [Errno 2] No such file or directory: 'D:\\data_to_test 
> \test_global.pd'

If I remember correctly, you don't really have to use backslashes at  
all.  I think that's just a holdover from when DOS filesystems first  
became hierarchical -- and they had already used the sensible  
directory delimiter '/' as a command line switch character.  So I  
think you can just substitute forward slashes and forget that double- 
backslash madness.

But that's not really answering your question, is it?

What you're looking for is called 'escape characters'. The single  
backslash combines with the 't' to become a TAB character.  The  
double backslashes combine to become '\'.  So:

 >>> print 'D:\\data_to_test\test_global.pd'
D:\data_to_test	est_global.pd

hth,
Michael




More information about the Python-list mailing list