Python die groß / Kleinschreibung bei Dateinamen?
Ich muss eine Datei laden, bekommt einen Namen, aber den Namen hab ich bekommen, ist groß-und Kleinschreibung. "A.txt" tatsächlich werden "a.txt". Wie Sie dies tun, der schnelle Weg (nicht generieren alle möglichen Namen, und versuchen Sie jeweils)?
- was Betriebssystem Sie auf?
- Sollte keine Rolle spielen, der name, den ich bekommen (was groß-und Kleinschreibung) analysiert aus einer Skript-Datei.
- Das Betriebssystem (und in der Tat das Dateisystem) sind sicherlich relevant hier.
- Sorry, was ich meinte, war 1) erhalte ich den Namen der Datei aus einem Skript. 2) Und ich will mein Programm cross-Plattform. Es ist also egal, welches OS ich verwende.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Konnte dir Liste das Verzeichnis der Datei in (
os.listdir
), und sehen, ob es passt für Ihren Dateinamen. Die passenden kann getan werden, die die unteren Gehäuse beider Dateinamen und vergleichen.Können Sie es nicht tun, ohne ein directory-listing und die sowohl das Element, das Sie suchen und jede in das Verzeichnis ein allgemeiner Fall für den Vergleich. Das Dateisystem ist groß - /Kleinschreibung und das ist alles dort ist zu ihm.
Hier ist eine Funktion (naja, zwei), das ich geschrieben habe zu tun es völlig, ein passender Dateiname in einer unsensiblen Art und Weise, rekursiv: http://portableapps.hg.sourceforge.net/hgweb/portableapps/development-toolkit/file/775197d56e86/utils.py#l78.
Dies ist eine einfache rekursive Funktion zu, um die Suche nach Eli schlägt vor:
Machen ein directory-listing; und erstellen ein Wörterbuch mit einer Zuordnung von Ober-case Dateinamen Ihrer tatsächlichen Fall Dateinamen. Dann nehmen Sie Ihre Eingabe in Großschreibung, und suchen Sie im Wörterbuch.