Хотя Windows без учета регистра, он действительно сохраняет случай в именах файлов. У Питона, там какой-либо способ получить имя файла со случаем, поскольку это сохранено в файловой системе?
Например, в программе Пайтона я имею имя файла = «texas.txt», но хочу знать, что оно на самом деле сохранено «TEXAS.txt» в файловой системе, даже если это несущественно для различных операций по файлу.
Вот самый простой способ сделать это:
>>> import win32api
>>> win32api.GetLongPathName(win32api.GetShortPathName('texas.txt')))
'TEXAS.txt'
>>> import os
>>> os.listdir("./")
['FiLeNaMe.txt']
Это отвечает на ваш вопрос?
И если вы хотите резать каталоги
import os
path=os.path.join("c:\\","path")
for r,d,f in os.walk(path):
for file in f:
if file.lower() == "texas.txt":
print "Found: ",os.path.join( r , file )
Вы можете использовать:
import os
a = os.listdir('mydirpath')
b = [f.lower() for f in a]
try:
i = b.index('texas.txt')
print a[i]
except ValueError:
print('File not found in this directory')
Это, конечно, предполагает, что ваша строка поиска «Texas.txt»
в нижнем регистре. Если это не то, что вы должны сначала преобразовать его в строчные.