1036 votos

¿Cómo obtener el nombre del archivo sin la extensión de una ruta en Python?

¿Cómo obtener el nombre del archivo sin la extensión de una ruta en Python?

Descubrí un método llamado os.path.basename para obtener el nombre del archivo con la extensión. Pero aun cuando importar sistema operativo, no soy capaz de llamarlo path.basename . ¿Es posible llamarlo tan directamente como basename?

1347voto

Tempus Puntos 22972

Poniendo el nombre del archivo sin la extensión:

import os
print os.path.splitext("path_to_file")[0]

En cuanto a su problema de importación, lo resuelves así:

from os.path import basename

# now you can call it directly with basename
print basename("/a/b/c.txt")

562voto

gimel Puntos 30150

Sólo rodar:

>>> base=os.path.basename('/root/dir/sub/file.ext')
>>> base
'file.ext'
>>> os.path.splitext(base)
('file', '.ext')
>>> os.path.splitext(base)[0]
'file'
>>>

219voto

hemanth.hm Puntos 1024
>>> print os.path.splitext(os.path.basename("hemanth.txt"))[0]
hemanth

15voto

Devin Jeanpierre Puntos 23162

Pero incluso cuando importar sistema operativo, no soy capaz de llamarlo path.basename. ¿Es posible llamarlo tan directamente como basename?

import osy luego usaros.path.basename

importING os no significa que se puede utilizar os.foo sin hacer referencia a os .

0voto

Zéiksz Puntos 328

En el sistema Windows usé drivername prefijo, como:

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

¿Porque no necesita conducir nombre letra o directorio, usar:

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

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X