Ввести с клавиатуры имя файла если расширение имени файла htm html питон
Есть ли в Python встроенные функции для добавления числа к имени файла, если оно уже существует?
Моя идея заключается в том, что он будет работать так, как работает определенная ОС - если файл выводится в каталог, где файл с таким именем уже существует, он добавляет число или увеличивает его.
Т.е.: если файл "file.pdf" существует, он создаст файл "file2.pdf", а в следующий раз "file3.pdf".
ОТВЕТЫ
Ответ 1
Ответ 2
Я пытался реализовать то же самое в своем проекте, но ответ @unutbu казался слишком "тяжелым" для моих нужд, поэтому я наконец придумал следующий код:
На всякий случай кто-то наткнулся на это и требует чего-то более простого.
Ответ 3
Поскольку tempfile hack A) является взломом и B) по-прежнему требует достойного количества кода, я пошел с ручной реализацией. Вам в основном нужно:
- Способ Безопасное создание файла в том и только в том случае, если он не существует (это то, что взлома tempfile дает нам).
- Генератор для имен файлов.
- Функция обертывания, чтобы скрыть беспорядок.
Я определил safe_open, который можно использовать так же, как open:
Ответ 4
Если нумерация всех файлов не является проблемой, и вы заранее знаете имя файла, который нужно записать, вы можете просто сделать:
Ответ 5
Недавно я столкнулся с тем же, и вот мой подход:
Ответ 6
Я еще не тестировал это, но он должен работать, итерации по возможным именам файлов, пока этот файл не будет существовать, в какой момент он сломается.
Ответ 7
Это работает для меня. Исходное имя файла 0.yml , если оно существует, оно добавит его до соответствия требованиям
Ответ 8
Ответ 9
Я реализовал аналогичное решение с pathlib :
Создайте имена файлов, которые соответствуют шаблону path/<file-name>-\d\d.ext . Возможно, это решение поможет.
Примечание: это решение начинается с 01 и будет искать только файл-образец, содержащий -\d\d !
Ответ 10
Я написал свою простую функцию для этого. Примитивно, но выполняет свою работу:
Ответ 11
Я обнаружил, что условная функция os.path.exists() делает то, что мне нужно. В качестве примера я использую сохранение из словаря в csv, но та же логика может работать для файлов любого типа:
Примечание: по умолчанию к имени файла добавляется число (начиная с 0), но его легко сместить.
Ответ 12
Чуть позже, но все равно что-то подобное должно работать должным образом, м.б. будет кому-то полезно.
Вы можете использовать встроенный итератор, чтобы сделать это (загрузчик изображений в качестве примера для вас):
Введение в тему
В данном уроке мы рассмотрим работу с файлами в Python. Вы узнаете, как их открывать, читать содержимое, вносить изменения и закрывать их.
Файлы python
Файл — это определенное количество информации, имеющее имя и хранящееся в долговременной памяти. Другими словами, это набор данных, которому дали имя и где-то сохранили.
В Питоне файлы делятся на две разновидности:
Текстовые файлы
Предполагается, что этот вид файлов содержит набор символов, который может прочитать человек. Как правило, такие файлы могут быть открыты любым простейшим текстовым редактором, к примеру, блокнотом в Виндовс.
Бинарные файлы
Бинарные файлы содержат набор нулей и единиц. Таким образом можно хранить любую информацию: изображения, аудио, видео и даже текст.
Работа с файлами состоит из следующих шагов:
Файл надо открыть
Произвести необходимые операции (запись или чтение)
Открытие файла
Метод open
И так, если Вы хотите произвести какие-либо операции с файлом, сперва придётся его открыть. Для этой цели в языке Пайтон есть встроенная функция open(). Используя эту функцию, можно создать на основе любого языка файла объект Python.
- name- имя файла, который Вы открываете
- mode- режим открытия. Если не указать этот параметр, файл будет открыт в режиме «только чтение». Режимы открытия файла могут быть следующими:
Файловый объект имеет несколько атрибутов, предоставляющих информацию о файле:
file.closed | Выводит True если файл был закрыт. |
---|---|
file.mode | Выводит режим доступа, с которым был открыт файл. |
file.name | Выводит имя файла. |
file.softspace | Выводит False если при выводе содержимого файла следует отдельно добавлять пробел. |
Пример
Для начала необходимо сохранить в новый файл «test.txt» какой-то текст. Этот файл должен быть расположен в рабочей папке.
Применим следующий код для открытия данного файла:
В переменных file и file_2 хранятся ссылки на объекты с открытыми файлами.
Теперь посмотрим содержимое файла и информацию о нём:
Закрытие файла
Метод close
Когда файл открывается, он начинает потреблять дополнительные ресурсы, поэтому, после выполнения всех операций, его необходимо закрыть.
Python сам закроет файл, если присвоить объект другому файлу.
Так же можно использовать метод close().
Инструкция with
Конструкция with называется менеджер контекста.
Обратите внимание, насколько это интуитивно понятно. Оператор Python with всегда будет закрывать файл в конце, даже если программа завершилась ненормально даже в контексте или блоке. Эта функция безопасности рекомендуемый выбор для всех программистов.
В таком случае инструкция close не нужна, потому что with автоматически закроет файл.
Пример использование менеджера контекста:
Чтение и запись файлов в python
Пайтон позволяет как читать, так и записывать в файлы информацию. Для этого при открытии применяются различные режимы.
Функция read
Применяя функцию read() Вы можете прочесть информацию из файл, который был открыт в режиме чтения (r):
Читайте также: