How to get the filename in the right case ?

Diez B. Roggisch deets at
Thu Sep 25 22:56:59 CEST 2008

Stef Mientki schrieb:
> OKB (not okblacke) wrote:
>> Stef Mientki wrote:
>>>>>> import Module1
>>>> d:\data_python_25\pylab_works\<module>()
>>> -> print "hello"
>>> (Pdb)
>>>> Then we know if PDB is really the culprit.
>>> So pdb is the problem.
>>         Yep, it does the same thing for me.
>>>> Apart from that, is that really a problem that the filenames are
>>>> all lower case? AFAIK Windows is case-insensitive regarding
>>>> filenames anyway. So opening the file by just passing the filename
>>>> should work seamless.         
>>> Yes windows is,
>>> but Python is not.
>>> My program should run on Windows and Linux (and maybe a few
>>> others). By converting everything to lowercase, on Linux I can't
>>> distinguishes between 2 files with the same name but a different
>>> case (btw, giving 2 files the same name, only differing in case,
>>> looks like a bad idea to me).
>>         Hmmm, but I don't understand what you're doing here.  Are you 
>> somehow storing the filename that pdb outputs and you need to use it 
>> later on a potentially different OS?  If the case is preserved in pdb 
>> on linux, then presumably running it on linux will be fine, right?  
>> It's only a problem if you somehow try to use a filename created by 
>> windows-
>> pdb to open a file (the same file, somehow) on linux.
> 1. I've a multitab editor.
> 2. When a breakpoint is reached,
> 3. I check if the file specified in pdb output, is already open in one 
> of the editor tabs,
> 4. if not, I open a new tab with the correct file,
> 5. I focus the correct editor tab and jump to the line specified by pdb.
> 6. After that I should be able to inspect the surrounding of the 
> breakpoint, so I need the modules name.
> For 3 I need to compare filenames, the editor contains the case 
> sensitive name, pdb not.
> For 6 I also need the case sensitive filename, but probably there's 
> another way to get the modules name.
> For 3, I can indeed compare the lowercase version of both,
> probably I'll do that for the moment.

You can do that based on the OS - do it on windows (as it doesn't care. 
Actualy, OSX doesn't as well), don't do it on posix systems.


More information about the Python-list mailing list