Как получить имя файла python
Перейти к содержимому

Как получить имя файла python

  • автор:

Как получить имя файла?

Author24 — интернет-сервис помощи студентам

Как получить имя слайдера и его значение
Здравствуйте! Подскажите пожалуйста, как получить в print() два переменных, одну с имением.

Как получить имя файла из формы
Здравствуйте! Есть форма, на основе некоторой модели в котором такое поле: file =.

Строка: Получить имя и расширение файла.
Дана строка, содержащая полный путь к файлу, начиная с диска. Вывести только имя файла и расширение.

Имя «.» не распознано как имя командлета, функции, файла сценария или выполняемой программы
Всем добрый день! Только недавно начал изучать Python и начал с редактора Pycharm. Установку.

Как получить имя учётки
Как получить имя учётной записи в windows, как получить имя пк понятно, подскажите как получить имя.

906 / 677 / 260
Регистрация: 10.12.2016
Сообщений: 1,653

1 2 3 4 5 6
>>> f = os.listdir()[0] >>> os.path.abspath(f) '/Users/admin/projects/fb2/xmlhighlighter.py' >>> os.path.basename(f) 'xmlhighlighter.py' >>>

Эксперт Python

2684 / 1590 / 512
Регистрация: 21.02.2017
Сообщений: 4,207
Записей в блоге: 1

Лучший ответ

Сообщение было отмечено HumidiFire как решение

Решение

HumidiFire,

filePath, ok = QFileDialog.getOpenFileName(self, "Выберите файлы", "", "*.pdf") if ok: fileName = QFileInfo(filePath).fileName()

Регистрация: 05.04.2021
Сообщений: 13
Нашел ещё вот такой способ с помощью библиотеки os:

self.file_document, _ = QFileDialog.getOpenFileName(self, "Выберите файлы", "", "*.pdf") self.file_document_name = os.path.basename(self.file_document)

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Conda : Имя «conda» не распознано как имя командлета, функции, файла сценария или выполняемой программы
Я вообще практически не понимаю Python. Просто мой проект требует написания на Python’e которого я.

Pip : Имя «pip» не распознано как имя командлета, функции, файла сценария или выполняемой программы
Если что япереустановил python 10 на python 9 вылезает такая ошибка при вводе в терминал к.

Как вывести имя файла
Есть вот такой кусок кода: import numpy as np import pandas as pd import matplotlib.pyplot as.

Как записать в строку байтов имя файла?
Как записать в строку байтов имя файла? появляется ошибка, что ‘bytes’ object has no attribute.

Из строки, содержащей полное имя файла, получить имя файла
Помогите Дана строка, содержащая полное имя файла, то есть имя диска, список каталогов (путь).

Или воспользуйтесь поиском по форуму:

Чтение имени файла средствами Python

Есть видео файл, нужно имя файла сохранить в переменную (для дальнейших преобразований), но сохранить нужно до расширения(.mp4). Как это сделать?

Отслеживать
задан 17 сен 2018 в 15:51
Sacred Sacred Sacred Sacred
381 1 1 золотой знак 7 7 серебряных знаков 21 21 бронзовый знак
Используйте docs.python.org/3/library/pathlib.html
17 сен 2018 в 15:54

Файл лежит на диске (известно ли где конкретно?) и нужно прочитать его имя? Или имя файла уже есть и нужно просто отбросить расширение?

17 сен 2018 в 16:02

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

from pathlib import Path file_name = 'C:/Users/111/video.mp4' path = Path(file_name) print(path.name) # video.mp4 print(path.stem) # video 

Отслеживать
ответ дан 17 сен 2018 в 16:17
77k 6 6 золотых знаков 56 56 серебряных знаков 123 123 бронзовых знака

Когда вы имеете имя+расширение в переменной filename:

In[152]: filename = "some_video.mp4" 

вы можете использовать модуль os.path :

In[151]: import os.path In[153]: name, __ = os.path.splitext(filename) In[154]: name Out[154]: 'some_video' 

В переменной __ будет расширение, но оно вам не нужно (потому такое чудесное имя):

In[155]: __ Out[155]: '.mp4' 

Путь, имя и расширение файла

Достаточно часто возникают ситуации, когда у нас есть полное имя файла, а требуется узнать его расширение. Или добавить нужное расширение, когда не известно, ввел его пользователь или нет. Иногда у нас есть относительный путь до файла, а требуется узнать абсолютный. Про основные методы работы с именем файла и будет эта статья.

Абсолютный путь к файлу

Для того чтобы узнать в Python абсолютный путь к файлу, потребуется воспользоваться библиотекой os. Её подключаем с помощью команды import os. В классе path есть метод abspath. Вот пример использования.

import os p = os.path.abspath('file.txt ') print(p) C:\python3\file.txt

Так же можно воспользоваться и стандартной библиотекой pathlib. Она вошла в состав основных библиотек, начиная с версии Python 3.4. До этого надо было ее инсталлировать с помощью команды pip install pathlib. Она предназначена для работы с путями файловой системы в разных ОС и отлично подойдет для решения данной задачи.

import pathlib p = pathlib.Path('file.txt ') print(p) C:\python3\file.txt

Имя файла

Чтобы узнать имя файла из полной строки с путем, воспользуемся методом basename модуля os.

import os name = os.path.basename(r'C:\python3\file.txt ') print(name) file.txt

Здесь перед строкой вставил r, чтобы подавить возможное возникновение служебных символов. Например, в данном случае если не указать r, то \f считалось бы символом перевода страницы.

Без расширения

Теперь разберемся, как в Python узнать имя файла без расширения. Воспользуемся методом splittext. В этот раз для примера возьмем файл с двойным расширением, чтобы проверить, как будут в этой ситуации работать стандартны функции.

from os import path full_name = path.basename(r'C:\python3\file.tar.gz ') name = path.splitext(full_name)[0] print(name) file.tar

Видно, что последнее расширение архиватора gz было отброшено, в то время как расширение несжатого архива tar осталось в имени.

Если же нам нужно только имя, то можно отбросить все символы полученной строки, которые идут после первой точки. Символ точки тоже отбросим.

Дополним предыдущий пример следующим кодом:

index = name.index('.') print(name[:index]) file

Расширение файла

В Python получить расширение файла можно аналогичным образом с помощью той же функции splitext. Она возвращает кортеж. Первый элемент кортежа имя, а второй – расширение. В данном случае нам нужен второй элемент. Индекс второго элемента равен единице, так как отсчет их идет от нуля.

from os import path full_name = path.basename(r'C:\python3\file.tar.gz ') name = path.splitext(full_name)[1] print(name) .gz

Аналогично можно воспользоваться библиотекой pathlib. Воспользуемся методом suffix.

from pathlib import Path print(Path(r'C:\python3\file.tar.gz ').suffix) .gz

Но в нашем случае два расширения. Их можно узнать с помощью функции suffixes. Она возвращает список, элементами которого и будут расширения. Ниже приведен пример получения списка расширений.

from pathlib import Path print(Path(r'C:\python3\file.tar.gz ').suffixes) ['.tar', '.gz ']

Для того, чтобы получить имя файла или расширение из полного пути или для получения абсолютного пути к файлу используйте библиотеки os и pathlib. Лучше воспользоваться готовым решением из стандартой библиотеками, чем писать свое решение.

Как получить имя загруженного файла из идентификатора django

Мне просто нужно точное имя файла, который я загрузил, чтобы я мог прочитать весь файл и показать содержимое на HTML-странице.

class newcodes(models.Model): user_id = models.AutoField fullname = models.CharField(max_length=200) codefile = models.FileField(upload_to ='programs/')//her is my codefile location in models 

Вот моя функция для чтения текста, но я не могу получить имя загруженного файла, поэтому я не могу прочитать файл

def showcode(request,id): programs=newcodes.objects.filter(id=id) print(programs) # f=open('media/') return render(request,"Codes.html") 
programs=newcodes.objects.filter(id=id) 

Возвращает QuerySet . Вам необходимо get вместо filter :

program=newcodes.objects.get(id=id) 

В результате будет создан объект newcodes. Из него вы можете получить загруженный файл в виде :

program.codefile.name 

Если имя файла находится вместе с каталогом, просто разделите имя файла следующим образом:

import os os.path.split(program.codefile.name)[-1] 

Вы также можете использовать здесь

fileurl=str(info.codefile.url) //This will convert into string 

codefile — это файл в модалах, который вы загрузили в вашу форму или на страницу администратора django, а info — это модал

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *