Перейти к содержимому

Как создать файл в python

  • автор:

Как создать файл с именем из переменной?

Помогите сделать функцию которая создает бинарный файл где: 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. Как создать файл,название которого вводится после запуска программы?

Lord_of_Rings

python

  • Python
  • +1 ещё

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

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

python

  • Python
  • +1 ещё

Почему callback_query_handler не видит call.data?

  • 1 подписчик
  • 4 часа назад
  • 27 просмотров

python

  • Python

При выводе users_cards выводится [, . ] как это исправить?

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

python

  • Python

В приложении django 4.2 + django rest framework: Model.__str__ нужен только для админки?

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

python

  • Python
  • +1 ещё

Не правильная проверка ячейки таблицы через цикл, почему не записывается переменная?

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

python

  • Python

Почему падает бот?

  • 1 подписчик
  • 20 часов назад
  • 73 просмотра

python

  • Python
  • +1 ещё

Почему я не могу вставить спецсимволы(смайлы) через админку Django?

  • 1 подписчик
  • 21 час назад
  • 37 просмотров

python

  • Python
  • +2 ещё

Как правильно трансформировать данные к нормальному распределению?

  • 1 подписчик
  • 23 часа назад
  • 39 просмотров

python

  • Python
  • +2 ещё

Как получать id канала отправленного боту через KeyboardButtonRequestChat?

  • 1 подписчик
  • 23 часа назад
  • 25 просмотров

python

  • 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 руб./за проект

Минуточку внимания

Присоединяйтесь к сообществу, чтобы узнавать новое и делиться знаниями

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

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