[Python-au] blind spot with os.path

Mike Dewhirst miked at dewhirst.com.au
Thu Oct 15 11:01:31 UTC 2009


raf wrote:
> Mike Dewhirst wrote:
> 
>> The problem I find is that Python seems to be using the wrong default 
>> path separator here ...
>>
>> 'C:\\users\\miked\\py\\chemdata\\src\\getmsds\\testlinks\\leave_empty/*.*'
>>
>> ... and which line can be seen below in context as part of the traceback.
>>
>> I'm sure Windows did not add the /*.* and I certainly didn't. That 
>> leaves Python as the obvious suspect.
>>
>> Any clues appreciated
>>
>> Thanks
>> Mike
> 
> hi,
> 
> forward slash works fine on windows.
> i don't think that's the problem.
> does the leave_empty directory actually exist?
> that might be the problem. i can't see mkdir
> anywhere in the code.

Spot on! Thanks raf.

I had forgotten tests don't happen in the sequence they are written :(

Cheers

Mike


> 
> cheers,
> raf
> 
>> --- code being tested on Windows XP with Python 2.6 ---
>>
>> class GetBase(object):
>>
>>     def __init__(self, basedir=basedir, ext=ext):
>>         self.basedir = basedir
>>         self.ext = ext
>>
>>     def filelist(self):
>>         # return list of (ccode, filename) tuples
>>         filelist = os.listdir(self.basedir)
>>         retlist = []
>>         for item in filelist:
>>             if self.ext in item:
>>                 (ccode, toss) = item.split("_", 1)
>>                 retlist.append((ccode, item))
>>         return retlist
>>
>>
>> --- tests.py excerpt ---
>>
>> import os, unittest
>> import sds
>>
>> emptydir = 'leave_empty'
>> testdir = os.getcwd() + os.path.sep + 'testlinks'
>>
>> class test_sds(unittest.TestCase):
>>
>>     def test_files_not_exist(self):
>>         """ 1 """
>>         filesdir = testdir + os.path.sep + emptydir
>>         print(filesdir)
>>         tsto = sds.GetBase(filesdir)
>>         numf = len(tsto.filelist())
>>         print('%s' % numf)
>>         self.assertEqual(numf == 0, True)
>>
>> --- error ---
>>
>> Traceback (most recent call last):
>>   File "tests.py", line 85, in test_files_not_exist
>>     numf = len(tsto.filelist())
>>   File "C:\users\miked\py\chemdata\src\getmsds\sds.py", line 39, in 
>> filelist
>>     filelist = os.listdir(self.basedir)
>> WindowsError: [Error 3] The system cannot find the path specified: 
>> 'C:\\users\\miked\\py\\chemdata\\src\\getmsds\\testlinks\\leave_empty/*.*'
>>
>>
>>
>> _______________________________________________
>> python-au maillist  -  python-au at starship.python.net
>> http://starship.python.net/mailman/listinfo/python-au
> 
> _______________________________________________
> python-au maillist  -  python-au at starship.python.net
> http://starship.python.net/mailman/listinfo/python-au
> 
> 




More information about the python-au mailing list