Как получить имя файла без расширения из пути в Python?

Вы должны реализовать Parcelable interface .

Ссылка на документацию .

801
задан Aran-Fey 17 October 2018 в 07:10
поделиться

6 ответов

Получение названия файла без расширения:

import os
print(os.path.splitext("/path/to/some/file.txt")[0])

Печать:

/path/to/some/file

Важное Примечание: Если имя файла имеет несколько точек, только расширение после того, как последний будет удален. Например:

import os
print(os.path.splitext("/path/to/some/file.txt.zip.asc")[0])

Печать:

/path/to/some/file.txt.zip

См. другие ответы ниже, если необходимо обработать тот случай.

1189
ответ дан 22 November 2019 в 21:08
поделиться

импортируйте имя файла OS, file_extension = os.path.splitext ('/d1/d2/example.cs') имя файла '/d1/d2/example' file_extension, .cs '

0
ответ дан Antonio Ramasco 4 October 2019 в 08:21
поделиться

Но даже когда я импортирую OS, я не могу назвать ее path.basename. Действительно ли возможно назвать его так же непосредственно как базовое имя?

import os, и затем используйте os.path.basename

importлуг os не означает, что можно использовать os.foo не относясь к os.

11
ответ дан 22 November 2019 в 21:08
поделиться

Можно сделать собственное с:

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

Важное примечание: Если существует больше чем один . в имени файла только удалено последнее. Например:

/root/dir/sub/file.ext.zip -> file.ext

/root/dir/sub/file.ext.tar.gz -> file.ext.tar

Посмотрите ниже для других ответов тот адрес это.

455
ответ дан 22 November 2019 в 21:08
поделиться

Я думаю, что самый легкий путь состоит в том, чтобы использовать .split (" / ")

input= "PATH/TO/FILE/file.txt" file_only = input.split("/")[-1] print(file_only)

>>> file.txt

можно также сделать это для извлечения последней папки:

input= "PATH/TO/FOLDER" folder_only = input.split("/")[-1] print(folder_only)

>>> FOLDER

, Если Вы хотите предпоследнюю папку, просто изменитесь [-1] на [-2].

-2
ответ дан 22 November 2019 в 21:08
поделиться
>>> print(os.path.splitext(os.path.basename("hemanth.txt"))[0])
hemanth
204
ответ дан 22 November 2019 в 21:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: