1724 Stimmen

Wie erhalte ich den Dateinamen ohne die Erweiterung aus einem Pfad in Python?

Wie erhalte ich den Dateinamen ohne die Erweiterung aus einem Pfad in Python?

"/path/to/some/file.txt"    "file"

6voto

learncode Punkte 985

import os

filename = C:\\Users\\Public\\Videos\\Sample Videos\\wildlife.wmv

Dies gibt die filename ohne die extension ( C:\Users\Public\Videos\Sample Videos \wildlife )

temp = os.path.splitext(filename)[0]  

Jetzt können Sie genau das bekommen filename von der Aushilfe mit

os.path.basename(temp)   #this returns just the filename (wildlife)

6voto

user4949344 Punkte 79
import os
path = "a/b/c/abc.txt"
print os.path.splitext(os.path.basename(path))[0]

6voto

Bilal Punkte 1082

Sehr, sehr einfach keine anderen Module !!!

import os
p = r"C:\Users\bilal\Documents\face Recognition python\imgs\northon.jpg"

# Get the filename only from the initial file path.
filename = os.path.basename(p)

# Use splitext() to get filename and extension separately.
(file, ext) = os.path.splitext(filename)

# Print outcome.
print("Filename without extension =", file)
print("Extension =", ext)

4voto

Zéiksz Punkte 670

Auf dem Windows-System habe ich auch das Präfix drivername verwendet, z. B:

>>> s = 'c:\\temp\\akarmi.txt'
>>> print(os.path.splitext(s)[0])
c:\temp\akarmi

Da ich also keinen Laufwerksbuchstaben oder Verzeichnisnamen benötige, verwende ich:

>>> print(os.path.splitext(os.path.basename(s))[0])
akarmi

2voto

M Ganesh Punkte 35

Eine Verbesserung der Antwort von @spinup:

fn = pth.name
for s in pth.suffixes:
    fn = fn.rsplit(s)[0]
    break

print(fn)      # thefile 

Dies funktioniert auch für Dateinamen ohne Erweiterung

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X