Рубрики
Без рубрики

Python One-LiLER: запись строки в файл

https://youtu.be/kv7mdhffinm Проблема: дана строка и имя файла. Как написать строку в файл с именем файла, используя только одну строку кода Python? Пример: у вас есть имя файла ‘hello.txt’, и вы хотите написать строку «Hello World!» в файл. # Напишите привет в файле ” ‘… Python One-Liner: Написать строку в файл Подробнее »

Автор оригинала: Chris.

Проблема : Учитывая строку и имя файла. Как написать строку в файл с именем файла, используя только Одно строка кода Python ?

Пример : У вас есть имя файла 'hello.txt' и вы хотите написать строку 'Привет, мир!' в файл.

hi = 'hello world!'
file = 'hello.txt'

# Write hi in file

'''
# File: 'hello.txt':
hello world!
'''

Как это добиться? В этом руководстве вы узнаете четыре способа сделать это в одной строке кода!

Вот быстрый обзор в нашей интерактивной оболочке Python:

Упражнение : Запустите код и проверьте файл ‘hello.txt’ . Как много «Здравствуйте миры!» там в файле? Изменить код так, чтобы только один ‘Привет, мир!’ находится в файле!

Метод 1: Использование оператора «С»

Самый простой способ – использовать с Заявление в одной строке (без разрыва линии).

hi = 'hello world!'
file = 'hello.txt'

# Method 1: 'with' statement
with open(file, 'a') as f: f.write(hi)

'''
# File: 'hello.txt':
hello world!
'''

Вы используете следующие шаги:

  • с Окружающая среда гарантирует, что нет побочных эффектов, таких как открытые файлы.
  • Открыть (файл, 'a') Заявление открывает файл с именем файла Файл и приложение Текст, который вы пишете на содержимое файла. Вы также можете использовать Открыть (файл, ‘W’ ) Перезаписать существующий файл содержимого.
  • Новый файл, возвращенный Открыть () Заявление названо f .
  • В с Тело, вы используете утверждение f.write (строка) написать строка в файл f . В нашем примере строка – 'Привет, мир!' .

Конечно, более красивый способ написать это в двух строках, будет использовать правильные отступы:

with open(file, 'a') as f:
    f.write(hi)

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

Но не так быстро!

Метод 2: Печать () Функция с объектом файла

Каждый Python Coder знает Печать () функция. Но большинство кодеров Python не знают, что Печать () Функция также имеет необязательный файл аргумент Вы можете использовать любой файл объект как Файл аргумент, чтобы распечатать результаты в файл.

hi = 'hello world!'
file = 'hello.txt'

# Method 2: print() function
print(hi, file=open(file, 'a'))

Используя Печать () Функция – это красивый, короткий, простой в запомненный и питонический способ написать строки в файл!

Метод явно самая краткая, и я бы порекомендовал его любому кодеру Python.

Он поставляется с одним недостатком: вы должны закрыть файл после открытия его.

Ну, это также может быть преимуществом по сравнению с заявлением. Скажем, у вас есть большой код файла, и вам нужно писать вещи в файл в начале и в конце кода. Используя с Заявление означает, что вы должны открыть файл дважды (потому что он явно уступает, чтобы написать весь свой код Python в одном с корпусом). В этом случае было бы даже лучше открыть файл один раз и передать его в Печать () Функция вызова в начале и в конце.

Строго говоря, вам даже не нужно закрывать файл, если вы знаете, что вы делаете. Python автоматически закрывает все файлы, если скрипт завершается. Я знаю, что многие Python Coders Очень строгие об этом – они протестуют против этой «ленивой» политики не закрывают файл. На мой взгляд, вы можете и должны Используйте знания О деталях реализации языка Python. Если бы это было бы «неуклюжему», вы также должны не использовать неявную Логические преобразования как Если []: печать («пусто») Поскольку они также требуют интимных знаний о деталях реализации Python.

(Я знаю о Стандартные аргументы для закрытия файлов Но я не думаю, что они очень «жесткие» аргументы для этого – они просто «безопасны» и легко рекомендовать. Большинство людей, указывающих на них, не сами не закрывают файлы.)

Метод 3: Многострочная оператор записи файлов с запятой

Конечно, вы также можете использовать простое многострочное заявление, чтобы покрасить все в одну строку кода Python:

hi = 'hello world!'
file = 'hello.txt'

# Method 3: multi-line statement
f = open(file, 'a'); f.write(hi); f.close()

Оператор состоит из трех операций, разделенных с запятой:

  • Открыть (файл, 'a') : Откроется и создает объект файла в режиме присоединения.
  • f.write (привет) : Пишет строку 'Привет, мир!' в файл.
  • f.close () : Закрывает файл объект.

Если вам не волнует файлы закрытия (потому что вы знаете, что вы делаете), вы можете упростить это следующим образом:

Метод 4: цепочка открытия () и запись ()

Этот метод рекомендуется только в том случае, если вы уверены, что вы не используете файл в своем коде во второй раз (и даже тогда вы можете сойти с ним, потому что вы даже не можете использовать первый объект файла во второй раз, когда вы бросили его ссылка):

hi = 'hello world!'
file = 'hello.txt'

# Method 4: open() and write()
open(file, 'a').write(hi)

Вы создаете объект файла и напишите ему, используя только одну строку. Это самый короткий и самый краткий способ написания материалов в файл. Да, вы не закрываете файл. Но сборщик мусора Python, вероятно, в любом случае будет выбросить объект файла, потому что нет ссылок, указав на объект файла.

Если вам нравятся одноклассники, и вам понравилось это руководство, посмотрите на мою новую книгу:

Python One-Liners Книга

Python Programmemers улучшит свои навыки информатики с этими полезными одноклассниками.

Python One-listers научит вас читать и писать «одноклассники»: краткие заявления полезных функций, упакованных в одну строку кода. Вы узнаете, как систематически распаковать и понимать любую строку кода Python и писать красноречие, мощно сжатый Python, как эксперт.

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

Используйте структуры данных для решения проблем реальных проблем, например, использование булевой индексации для поиска городов с загрязнением выше среднего Используйте Numpy Основы, такие как массив, форма, ось, тип, вещание, расширенная индексация, нарезка, сортировка, поиск, агрегация и статистика Рассчитайте базовую статистику многомерных массивов данных и алгоритмы K-означает для безоговорочного обучения Создайте более усовершенствованные регулярные выражения с помощью группировки и названных групп, отрицательные LookAeads, сбежавшие символы, пробелы, наборы символов (и наборы отрицательных символов) и жадные/негридические операторы Понимать широкий ассортимент темы компьютерных наук, включая анаграммы, палиндромы, сверты, перестановки, факториалы, простые числа, цифры фибоначчи, обфускации, поиск и алгоритмическую сортировку

К концу книги вы узнаете, как писать Python в его самых утонченных, и создавать краткие, красивые куски «Python Art» в простой строке.

Получите свой Python One-Liners сейчас !!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.

Оригинал: “https://blog.finxter.com/python-one-liner-write-string-to-file/”