Python Ottieni nome file senza estensione dal percorso
-
Ottieni il nome del file senza estensione dal percorso usando il metodo
pathlib.path().stem
in Python -
Ottieni il nome del file senza estensione dal percorso usando i metodi
os.path.splitext()
estring.split()
in Python -
Ottieni il nome del file dal percorso usando i metodi
os.path.basename()
eos.path.splitext()
in Python
![Python Ottieni nome file senza estensione dal percorso](/img/Python/feature-image---python-get-filename-without-extension-from-path.webp)
Questo tutorial mostrerà vari metodi per ottenere il nome del file senza estensione dal percorso del file in Python. Supponiamo che l’obiettivo sia quello di ottenere il nome dei file dall’lista dei percorsi dei file disponibili sotto forma di una stringa, come dal percorso Desktop / cartella / miofile.txt
, otteniamo solo il nome del file miofile
senza .txt
Estensione.
Ottieni il nome del file senza estensione dal percorso usando il metodo pathlib.path().stem
in Python
Il metodo path().stem
prende il percorso del file come input e restituisce il nome del file estraendolo dal percorso del file. Ad esempio, dal percorso Desktop/folder/myfile.txt
, restituirà myfile
senza l’estensione .txt
.
L’esempio di codice seguente mostra come utilizzare path().stem
per ottenere il nome del file senza l’estensione del file dal percorso del file:
from pathlib import Path
file_path = "Desktop/folder/myfile.txt"
file_name = Path(file_path).stem
print(file_name)
Produzione:
myfile
Ottieni il nome del file senza estensione dal percorso usando i metodi os.path.splitext()
e string.split()
in Python
Il metodo path.splitext()
del modulo os
prende il percorso del file come stringa di input e restituisce il percorso e l’estensione del file come output.
Poiché vogliamo ottenere il nome del file dal percorso del file, possiamo prima rimuovere l’estensione del file dal percorso del file utilizzando il metodo os.path.splitext()
. Il primo elemento del risultato della divisione è il percorso del file senza estensione. Questo risultato viene ulteriormente suddiviso utilizzando /
come separatore. L’ultimo elemento sarà il nome del file senza estensione. L’esempio di codice seguente mostra come ottenere il nome del file senza estensione dal percorso del file utilizzando i metodi path.splitext()
e string.split()
.
import os
file_path = "Desktop/folder/myfile.txt"
file_path = os.path.splitext(file_path)[0]
file_name = file_path.split("/")[-1]
print(file_name)
Produzione:
test
Ottieni il nome del file dal percorso usando i metodi os.path.basename()
e os.path.splitext()
in Python
In Python il metodo path.basename()
del modulo os
prende il percorso del file come input e restituisce il nome di base estratto dal percorso del file. Ad esempio, il nome di base di Desktop/folder/myfile.txt
è myfile.txt
.
Dato che vogliamo ottenere il nome del file dal percorso del file, il nome di base può essere estratto usando il metodo path.basename()
e il nome del file usando path.splitext()
. L’esempio di codice seguente mostra come ottenere il nome del file dal percorso del file utilizzando i metodi path.basename()
e path.splitext()
.
import os
file_path = "Desktop/folder/myfile.txt"
basename = os.path.basename(file_path)
file_name = os.path.splitext(basename)[0]
print(file_name)
Produzione:
myfile
myfile.tar.gz
, tutti i metodi spiegati sopra restituiranno myfile.tar
come nome del file.Supponiamo di dover ottenere il nome del file senza la parte dopo .
come myfile
invece di myfile.tar
dal percorso Desktop/folder/myfile.txt
, il metodo string.index()
può essere utilizzato per estrarre solo myfile
da myfile.tar
. Ma lo svantaggio di questo metodo è se il .
fa parte del nome del file come my.file.tar.gz
, restituirà my
come nome del file.
L’esempio di codice sotto come possiamo usare string.index()
per rimuovere .tar
dall’output myfile.tar
dei metodi spiegati sopra:
file_name = "myfile.tar"
index = file_name.index(".")
file_name = file_name[:index]
print(file_name)
file_name = "my.file.tar"
index = file_name.index(".")
file_name = file_name[:index]
print(file_name)
Produzione:
myfile
my