error sending path to Win OS

Earl Eiland eee at nmt.edu
Mon Mar 14 08:54:04 EST 2005


A couple of you commented that I should be using os.path.join. 
Accordingly, I rewrote my code.  Unfortunately, I still have the same
problem.  the following code snippet

Results.SetOriginal(os.path.getsize(os.path.join(InputDirectory , x)))
y = str(x.split('.')[0]) + '.rk'
print InputDirectory, y
raw_input()
Results.SetArchive(os.path.getsize(os.path.join(InputDirectory, y)))

is executed from the command line with
C:\Documents and Settings\eeiland\Desktop> ..\Thesis\Plan2\Compressor.py
Test_Data\ Test_Output\Results
Test_Data\ Book1.rk, where InputDirectory (in the above snippet) =
'Test_Data\' (I've also tried 'Test_Data', with the same results).

x (in the above snippet) is an element of the list generated by
os.listdir(InputDirectory).

Output upon execution is as follows: 
Test_Data\ Book1.rk

Traceback (most recent call last):
  File "C:\Documents and Settings\eeiland\Thesis\Plan2\Compressor.py",
line 60,
in ?
    Results.SetArchive(os.path.getsize(os.path.join(InputDirectory, y)))
  File "C:\Python24\lib\ntpath.py", line 229, in getsize
    return os.stat(filename).st_size
OSError: [Errno 2] No such file or directory: 'Test_Data\\Book1.rk'

What am I doing wrong?

Earl


On Sat, 2005-03-12 at 15:16, Michael Hoffman wrote:
> Earl Eiland wrote:
> > os.path.getsize(Inputdirectory + '\\' + Filename) works, but
> > os.path.getsize(Inputdirectory + '\\' + Filename.split('.') + '.ext')
> > Fails reporting "no such file or directory
> > InputDirectory\\Filename.ext".
> 
> No, that should be a TypeError. This will be easier if you copy and
> paste your Python session instead of making stuff up.
> 
> > os.path.getsize(Inputdirectory + r'\' + Filename.split('.') + '.ext')
> > generates a syntax error.
> 
> 'r"\" is not a valid string literal (even a raw string cannot end in an
> odd number of backslashes). Specifically, a raw string cannot end in a
> single backslash (since the backslash would escape the following quote
> character). Note also that a single backslash followed by a newline is
> interpreted as those two characters as part of the string, not as a
> line continuation.'
> 
> http://docs.python.org/ref/strings.html
> -- 
> Michael Hoffman




More information about the Python-list mailing list