Gibt es eine Funktion zum Extrahieren der Erweiterung aus einem Dateinamen?
Antworten
Zu viele Anzeigen?
Ibnul Husainan
Punkte
193
Versuchen Sie dies:
files = ['file.jpeg','file.tar.gz','file.png','file.foo.bar','file.etc']
pen_ext = ['foo', 'tar', 'bar', 'etc']
for file in files: #1
if (file.split(".")[-2] in pen_ext): #2
ext = file.split(".")[-2]+"."+file.split(".")[-1]#3
else:
ext = file.split(".")[-1] #4
print (ext) #5
- alle Dateinamen innerhalb der Liste auslesen
- und überprüfen Sie die vorletzte Erweiterung, ist sie in der pen_ext-Liste enthalten oder nicht?
- wenn ja, verbinden Sie sie mit der letzten Erweiterung und legen Sie sie als Dateierweiterung fest
- wenn nicht, dann geben Sie einfach die letzte Erweiterung als Dateierweiterung an
- und dann überprüfen Sie es
eatmeimadanish
Punkte
3514
Zum Spaß... sammeln Sie einfach die Erweiterungen in einem Diktat und speichern Sie sie alle in einem Ordner. Dann ziehen Sie einfach die Erweiterungen, die Sie wollen.
import os
search = {}
for f in os.listdir(os.getcwd()):
fn, fe = os.path.splitext(f)
try:
search[fe].append(f)
except:
search[fe]=[f,]
extensions = ('.png','.jpg')
for ex in extensions:
found = search.get(ex,'')
if found:
print(found)
DragonX
Punkte
105
# try this, it works for anything, any length of extension
# e.g www.google.com/downloads/file1.gz.rs -> .gz.rs
import os.path
class LinkChecker:
@staticmethod
def get_link_extension(link: str)->str:
if link is None or link == "":
return ""
else:
paths = os.path.splitext(link)
ext = paths[1]
new_link = paths[0]
if ext != "":
return LinkChecker.get_link_extension(new_link) + ext
else:
return ""
lendoo
Punkte
92
user5535053
Punkte
9