Как создать файл с именем из переменной?
Помогите сделать функцию которая создает бинарный файл где: path — путь к файлу file_name — имя файла Я знаю только как создать при помощи path и в конце самому указать название, например:
with open(path, wb) as binary_file: pass
И path будет ‘C:\Projects\Test_Project\Test.bin’ А как сделать название из какой-либо переменной?
from pathlib import Path def create_backup(path, file_name): with open(path, 'wb') as bfile_employee: pass path_to_dir = Path(r'C:\Projects\Test_Project') file_name = 'archived_file.bin' create_backup(path_to_dir, file_name)
Отслеживать
задан 12 янв в 1:44
196 11 11 бронзовых знаков
Просто в строке with open(path, ‘wb’) as bfile_employee: вместо path напишите path + ‘\’ + filename , или можно еще проще сделать: вместо принятия двух аргументов в функции create_backup можно принимать только один, т. е. вместо create_backup(path_to_dir, file_name) написать create_backup(path_to_dir + ‘\’ + file_name)
12 янв в 6:48
и да, не забывайте помечать ответы как правильные с помощью галочки)
12 янв в 6:49
@zolars path + ‘\’ + filename даст ошибку — бэкслэш нужно экранировать, причём r-строка тут не поможет, потому что бэкслэш в конце строки, тут только экран path + ‘\\’ + filename
12 янв в 6:55
@CrazyElf да, спасибо что подловили)
12 янв в 6:56
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Библиотека pathlib специально предназначена для того, чтобы такие вещи делать проще — пути типа Path можно объединять со строками просто через оператор деления / . Но при этом получается линуксовый стиль обозначения каталогов, не уверен, будет ли это нормально работать в винде, нужно проверять. Но по идее должно:
from pathlib import Path def create_backup(path, file_name): with open(path/file_name, 'wb') as bfile_employee: pass path_to_dir = Path('C:/Projects/Test_Project') # линуксовые разделители file_name = 'archived_file.bin' create_backup(path_to_dir, file_name)
Впрочем, я видимо проверял в линуксе, поэтому у меня линуксовый стиль и получился, возможно в винде можно оставить бэкслэши в пути и объединяться будет через них, нужно просто проверить, что выдаст print(path/file_name) . Скорее всего будет использоваться сепаратор, соответствующий системе.
Не могу создать файл .py (Python)
Вот например я хочу создать файл .py . Создаю текстовый документ, называю test.py . А он создается как test.py.txt . Что делать? Помогите, в интернете решения не нашел.
Лучший ответ
если у тебя windows 10
1. открыть панель управления
2. найти в панели управления «параметры проводника»
3. убрать галочку с функции «скрывать расширения для зарегистрированных типов файлов
Артур ЧальянУченик (109) 1 год назад
С П А СИ Б О
Людмила ФельдшероваЗнаток (330) 1 год назад
Вы меня спасли!)
Остальные ответы
В параметрах вида настройте «видимость расширений»
Предводитель восстанияУченик (208) 3 года назад
Параметры вида.. Это где?
Если ты решил именно создать файл, так и создавай его в консольке:
copy con file.py
А лучше используй какую-нибудь IDE, все будет гораздо проще.
Almaz___☪Знаток (414) 1 год назад
Типо было удобно на рабочем столе создать текстовый документ с расширением .py, а теперь когда ставишь это расширение все равно формат txt остаётся
Создать файл
Есть два способа создать файл, через метод write() или print() .
# 1-ый способ myfile = open("file.txt", "w") myfile.write("Контент для файла") myfile.close() # 2-ой способ print("Контент для файла", file=open("file.txt", "w"))
Флаг «w» означает, что файл надо перезаписать (или создать, если его нет).
Обновлено: 10 ноября 2020
Комментарии
Авторизуйтесь, чтобы добавлять комментарии
Создание файла python. Как создать файл,название которого вводится после запуска программы?


- Python
- +1 ещё
Почему текстовый редактор и консоль по-разному присваивают ссылки на переменные Python?
- 1 подписчик
- 20 минут назад
- 7 просмотров

- Python
- +1 ещё
Почему callback_query_handler не видит call.data?
- 1 подписчик
- 4 часа назад
- 27 просмотров

- Python
При выводе users_cards выводится [, . ] как это исправить?
- 1 подписчик
- 6 часов назад
- 34 просмотра

- Python
В приложении django 4.2 + django rest framework: Model.__str__ нужен только для админки?
- 1 подписчик
- 8 часов назад
- 43 просмотра

- Python
- +1 ещё
Не правильная проверка ячейки таблицы через цикл, почему не записывается переменная?
- 1 подписчик
- 8 часов назад
- 36 просмотров

- Python
Почему падает бот?
- 1 подписчик
- 20 часов назад
- 73 просмотра

- Python
- +1 ещё
Почему я не могу вставить спецсимволы(смайлы) через админку Django?
- 1 подписчик
- 21 час назад
- 37 просмотров

- Python
- +2 ещё
Как правильно трансформировать данные к нормальному распределению?
- 1 подписчик
- 23 часа назад
- 39 просмотров

- Python
- +2 ещё
Как получать id канала отправленного боту через KeyboardButtonRequestChat?
- 1 подписчик
- 23 часа назад
- 25 просмотров

- Python
- +3 ещё
Как сделать слайдер фотографий в боте телеграма, aiogram2.5.2?
- 1 подписчик
- вчера
- 39 просмотров
от 120 000 ₽
от 120 000 до 240 000 ₽
19 нояб. 2023, в 19:32
15000 руб./за проект
19 нояб. 2023, в 19:30
130000 руб./за проект
19 нояб. 2023, в 19:18
45000 руб./за проект
Минуточку внимания
Присоединяйтесь к сообществу, чтобы узнавать новое и делиться знаниями
- Как отследить запросы?
- 3 подписчика
- 2 ответа
- 2 подписчика
- 1 ответ
- 2 подписчика
- 1 ответ
- 2 подписчика
- 2 ответа
- 2 подписчика
- 1 ответ
- 3 подписчика
- 2 ответа
- 2 подписчика
- 3 ответа
- 2 подписчика
- 1 ответ
- 2 подписчика
- 1 ответ
- 2 подписчика
- 1 ответ