Hier ist eine allgemeine Art und Weise ist, es zu tun was auch immer die Erweiterung.
fileNames = [s.split('.')[0] for s in files]
Es erstellt eine neue Liste und lässt Ihre ursprüngliche unverändert.
EDIT:
Wenn Sie Namen mit Punkten in ihm (wie file.tsv.zip) haben, gibt es noch eine Möglichkeit, es zu tun, ohne ohne Import:
fileNames = ['.'.join(s.split('.')[:-1]) for s in files]
Und wenn Sie wollen unterstützen auch Dateien ohne Erweiterung, dann besser nutzen diese ein:
fileNames = [s if s.find('.')==-1 else '.'.join(s.split('.')[:-1]) for s in files]
(okay, es wird immer ein bisschen schmutzig aber: P)
So die letzte gibt:
>> files = ['file.tsv', 'file2.tsv.zip', 'file3']
>> fileNames
['file', 'file2.tsv', 'file3']