Как вывести название файла в питоне
Перейти к содержимому

Как вывести название файла в питоне

  • автор:

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

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

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

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

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

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

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

930 / 691 / 270
Регистрация: 10.12.2016
Сообщений: 1,701

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

2689 / 1595 / 513
Регистрация: 21.02.2017
Сообщений: 4,209
Записей в блоге: 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?

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

filename = input("Введите имя файла: ") file_object = open(filename, 'r') all_the_text = file_object.read( ).split('\n') print (all_the_text) num_words = 0 with open(filename,'r') as f: for line in f: words = line.split() num_words += len(words) print("Число слов:") print(num_words)

Не понимаю что вообще делать (((

  • Вопрос задан более трёх лет назад
  • 356 просмотров

Комментировать
Решения вопроса 1
Анатолий @trofimovdev

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

# -*- coding: utf-8 -*- try: file_object = open(filename, 'r') except IOError as e: print('Неверное имя файла.')

Ответ написан более трёх лет назад
molly_dolly @molly_dolly Автор вопроса

А как сделать так, чтобы программа останавилась на этом? А то он мне дальше начинает прогонять по всем функциям и вылезает вот это:
Traceback (most recent call last):
File «main.py», line 9, in
file_object = open(filename, ‘r’)
FileNotFoundError: [Errno 2] No such file or directory: ‘9’

Анатолий @trofimovdev
molly_dolly, засунуть весь остальной код в try и почитать про try/except
molly_dolly @molly_dolly Автор вопроса

Анатолий, вот вы мне как раз помогли, а то сидела и не понимала почему не работает. А этот сайт уже читала. Спасибо огромное)

Ответы на вопрос 1

sanya84

Фанатик Python 3
Продолжение

try: filename = input("Введите имя файла: ") file_object = open(filename + ".txt", 'r') all_the_text = file_object.read( ).split('\n') print (all_the_text) num_words = 0 with open(filename + ".txt",'r') as f: for line in f: words = line.split() num_words += len(words) print("Число слов:") print(num_words) except IOError as error: print(error) print("Файл не найден.")

Ответ написан более трёх лет назад
molly_dolly @molly_dolly Автор вопроса

Да, спасибо. Я уже раннее решила, когда Анатолий сказал код в код, а не в начале. Благодарю вас за ответ 🙂

Ваш ответ на вопрос

Войдите, чтобы написать ответ

python

  • Python
  • +2 ещё

Как реализовать изменение данных анкеты в БД через inline клавиатуру в телеграм боте?

  • 1 подписчик
  • 8 минут назад
  • 6 просмотров

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

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

Отслеживать
задан 17 сен 2018 в 15:51
Sacred Sacred Sacred Sacred
391 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
77.2k 6 6 золотых знаков 58 58 серебряных знаков 126 126 бронзовых знаков

Когда вы имеете имя+расширение в переменной 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. Лучше воспользоваться готовым решением из стандартой библиотеками, чем писать свое решение.

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

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