Как в Python получить путь к файлу с правильным регистром?

Windows использует имена файлов без учета регистра, поэтому я могу открыть тот же файл с любым из них:

r"c:\windows\system32\desktop.ini"
r"C:\WINdows\System32\DESKTOP.ini"
r"C:\WiNdOwS\SyStEm32\DeSkToP.iNi"

и т. д. Учитывая любой из этих путей, как я могу найти истинный случай? Я хочу, чтобы все они выдали:

r"C:\Windows\System32\desktop.ini"

os.path.normcase этого не делает, он просто все в нижнем регистре. os.path.abspath возвращает абсолютный путь, но каждый из них уже является абсолютным и не меняет ни одного из них. os.path.realpath используется только для разрешения символических ссылок, которых нет в Windows, поэтому он такой же, как abspath в Windows.

Есть ли простой способ сделать это?

22
задан Ned Batchelder 11 September 2010 в 19:06
поделиться