Re: Construct raw strings?

2005-09-08 Thread Terry Reedy

Thomas W [EMAIL PROTECTED] wrote in message 
news:[EMAIL PROTECTED]
I got a stupid problem; on my WinXP-box I want to scan the filesystem
 and enter a  path to scan like this :

 path_to_scan = 'd:\test_images'

I believe you can always use / instead of \ for Win filenames from Python. 
Avoids the \ problem.  I think only the shell that uses / for options has a 
problem with / in filenames, but Python calls directly to C.

Terry J. Reedy



-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Construct raw strings?

2005-09-08 Thread Benji York
Peter Hansen wrote:
 Benji York wrote:
 
 It's not join that's getting you, it's the non-raw string
 representation in path_to_scan.  Use either 'd:\test_images' or
 'd:\\test_images' instead.
 
 Benji, you're confusing things: you probably meant r'd:\test_images'
 in the above

Doh!  I did indeed.  Thanks for the backup.
--
Benji York



-- 
http://mail.python.org/mailman/listinfo/python-list


Construct raw strings?

2005-09-07 Thread Thomas W
I got a stupid problem; on my WinXP-box I want to scan the filesystem
and enter a  path to scan like this :

path_to_scan = 'd:\test_images'

This is used in a larger context and joined like

real_path_after_scanning = os.path.join(path_to_scan, somepart, 'foo',
'bar', filename)

Using os.path.exists(real_path_after_scanning) returns false. The
problem is that some of the parts being joined contains escape
characters, like \. If I take the seperate parts and join them using
the interpreter, like :
 f = r'd:\test_images\something\foo\bar\test.jpg'

it works ok and os.path.exists(f) returns True, but I cannot the that
r' in front using the os.path.join-method in my code.

I don't know if this makes any sense at all, but I'm lost. Damn those
stupid windows-paths !! 

Thanks in advance,
Thomas

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Construct raw strings?

2005-09-07 Thread Benji York
Thomas W wrote:
 I got a stupid problem; on my WinXP-box I want to scan the filesystem
  and enter a  path to scan like this :
 
 path_to_scan = 'd:\test_images'

Note the lack of an r prefix and the \t sequence above.

 The problem is that some of the parts being joined contains escape 
 characters

 If I take the seperate parts and join them using the interpreter,
 like :
 
 f = r'd:\test_images\something\foo\bar\test.jpg'
 
 it works ok and os.path.exists(f) returns True, but I cannot the that
  r' in front using the os.path.join-method in my code.

It's not join that's getting you, it's the non-raw string representation 
in path_to_scan.  Use either 'd:\test_images' or 'd:\\test_images' instead.
--
Benji York


-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Construct raw strings?

2005-09-07 Thread Robert Kern
Thomas W wrote:
 I got a stupid problem; on my WinXP-box I want to scan the filesystem
 and enter a  path to scan like this :
 
 path_to_scan = 'd:\test_images'

path_to_scan = r'd:\test_images'

 This is used in a larger context and joined like
 
 real_path_after_scanning = os.path.join(path_to_scan, somepart, 'foo',
 'bar', filename)
 
 Using os.path.exists(real_path_after_scanning) returns false. The
 problem is that some of the parts being joined contains escape
 characters, like \. If I take the seperate parts and join them using
 the interpreter, like :
 
f = r'd:\test_images\something\foo\bar\test.jpg'
 
 it works ok and os.path.exists(f) returns True, but I cannot the that
 r' in front using the os.path.join-method in my code.

There is no such thing as a raw string. There are raw string
literals which, when evaluated as Python source, are interpreted with
slightly different rules than regular string literals. After the
literal has been interpreted to yield a string object, there is no
difference between the two; they're both just string objects.

If you can, please post a small but complete example script that causes
errors (and the actual output of the error itself).

-- 
Robert Kern
[EMAIL PROTECTED]

In the fields of hell where the grass grows high
 Are the graves of dreams allowed to die.
  -- Richard Harter

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Construct raw strings?

2005-09-07 Thread Peter Hansen
Benji York wrote:
 It's not join that's getting you, it's the non-raw string representation 
 in path_to_scan.  Use either 'd:\test_images' or 'd:\\test_images' instead.

Benji, you're confusing things: you probably meant r'd:\test_images' in 
the above, but in any case I think Robert Kern's on the right track 
checking whether this is really about string literals...

-Peter
-- 
http://mail.python.org/mailman/listinfo/python-list