Как в Python создать файл, записать и прочитать текст ~ PythonRu
Умение создавать файлы в Python открывает массу новых возможностей — например, позволяет хранить данные, сохраняя их согласованность для разных пользователей. Вместе с тем упрощает процесс управления данными, скрапинга контента и многое другое.
Важно и то, что в Python этот процесс очень простой.
Как создать файл в Python в три строки
С помощью следующего кода можно создать файл с названием BabyFile.txt и записать в него текст «Привет, файл!»:
Копировать Скопировано Use a different Browser
my_file = open("BabyFile.txt", "w+")
my_file.write("Привет, файл!")
my_file.close()
В начале объявляется переменная my_file
. После этого используются встроенные функции open
и write
для открытия и записи в файл. "w+"
сообщает, что запись будет осуществляться в новый файл. Если он существует, то новое содержимое нужно записать поверх уже существующего. Если же вместо этого использовать параметр "w"
, тогда файл будет создан только в том случае, если он не существовал до этого.
Важно заметить, что в конце файл всегда нужно закрывать, чтобы изменения сохранились.
Как записывать, добавляя новое содержимое
С созданием файла разобрались. Теперь можно узнать, как редактировать, удалять и даже копировать файлы.
Если нужно добавить новые данные в файл, тогда вместо "w+"
нужно просто использовать параметр "a+"
.
Копировать Скопировано Use a different Browser
my_file = open("BabyFile.txt", "a+")
my_file.write("и еще кое-что!")
my_file.close()
Однако в таком случае не будет добавлена новая строка, поэтому важно не забыть использовать символ \n
.
Для чтения же файла нужно выполнить такую команду:
Копировать Скопировано Use a different Browser
my_file = open("BabyFile.txt", "a+")
file_contents == my_file. read()
print(file_contents)
Привет, файл!и еще кое-что!
Удаление и перемещение файлов
Зная, как создавать файл, важно уметь определять, существует ли он в системе. Это важно, ведь в противном случае можно попробовать записать, отредактировать или удалить файл, которого не существует, что приведет к ошибке.
Для этого используется модуль os, который также по умолчанию доступен в Python. Достаточно лишь импортировать его и можно приступать к использованию — для этого используются path
и методы isfile()
, isdir()
или exists()
.
Копировать Скопировано Use a different Browser
os.path.isfile("/путь/к/файлу")
С помощью этого модуля можно даже переименовывать файлы. Это просто:
Копировать Скопировано Use a different Browser
os.rename("/путь/к/файлу", "/новый_путь/к/переименованному_файлу")
Особенно круто то, что если отредактировать путь, то файл переместится в соответствующую локацию. Как вариант, можно также использовать модуль shutil
:
Копировать Скопировано Use a different Browser
shutil.move("/путь/к/файлу", "/новый_путь/к/переименованному_файлу")
Наконец, для удаления файлов используется os.remove()
.
Вот и все. Теперь вы знаете, как создавать файлы, изменять их или удалять.
Краткий итог
Как в Python создать файл
- Создать файл
my_file = open("file.txt", "w+")
- Записать в файл
my_file.write("Привет, файл!")
- Сохранить и закрыть файл
my_file.close()
Как сохранять текстовые файлы Python в определённую папку?
Задать вопрос
Вопрос задан
Изменён 2 года 3 месяца назад
Просмотрен 2k раз
users = {} filename = 'phonenumbers. txt' flag = 1 while flag: message = input("Enter kommand: ") try: if message.lower().strip() == 'wr': user_name = input("Enter name and surname: ") user_phone = input("Enter user's phone: ") users[user_name] = user_phone with open(filename, 'a') as f_object: for key, value in users.items(): f_object.write(key + ': ' + value + '\n') elif message == 'pr': f = open(filename) while True: line = f.readline() if len(line) == 0: # Нулевая длина обозначает конец файла (EOF) print("File is empty") break print(line, end='') elif message == 'cl': with open(filename, "w"): pass elif message == 'exit': flag = False except FileNotFoundError: msg = "Sorry, the file " + filename + " does not exlist." print(msg)
Начал изучать Python по книге Abyteofpython там была задача сделать телефонную книгу, решил дополнить её так, что бы он сохранял текстовый документ в определённую папку. Может какие библиотеки есть для этого?
- python
file = 'dir1/dir2/file.txt' with open(file, 'w') as file: file.write()
Вся магия, просто указываете полный путь до папки.
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
Python Сохранить в файл Ru Python спросил
Изменено 2 года, 1 месяц назад
Просмотрено 455 тысяч раз
Я хотел бы сохранить строку в файл с помощью программы Python с именем Failed. py
Вот что у меня есть на данный момент:
мой файл = открыть('сегодня','р') IP-адреса = {} для строки в myFile: части = строка.split(' ') if parts[1] == 'Отказ': если part[0] в ips: ips[pars[0]] += 1 еще: ips[части[0]] = 0 для ip в [k для k, v в ips.iteritems(), если v > = 5]: # запись в файл с именем Failed.py
- питон
- питон-2.7
3
файл = открыть('Failed.py', 'w') file.write('что угодно') файл.закрыть()
Вот более питоническая версия, которая автоматически закрывает файл, даже если в обернутом блоке было исключение:
с open('Failed.py', 'w') в качестве файла: file.write('что угодно')
6
Вам нужно снова открыть файл, используя open()
, но на этот раз передав 'w'
, чтобы указать, что вы хотите записать в файл. Я бы также рекомендовал использовать
, чтобы гарантировать, что файл будет закрыт, когда вы закончите писать в него.
с open('Failed.txt', 'w') как f: для ip в [k для k, v в ips.iteritems(), если v >= 5]: f.write(ip)
Естественно, вы можете захотеть включить перевод строки или другое форматирование в свой вывод, но основы такие же, как описано выше.
Та же проблема с закрытием файла относится и к коду чтения. Это должно выглядеть так:
ips = {} с open('сегодня','r') как myFile: для строки в myFile: части = строка.split(' ') if parts[1] == 'Отказ': если part[0] в ips: ips[pars[0]] += 1 еще: ips[части[0]] = 0
0
Чтобы записать в файл на Python, нам нужно открыть его в режиме записи w
, добавить в
или режиме монопольного создания x
.
Нам нужно быть осторожными с режимом w
, так как он перезапишет файл, если он уже существует. Благодаря этому все предыдущие данные стираются.
Запись строки или последовательности байтов (для двоичных файлов) выполняется с помощью метода write(). Этот метод возвращает количество символов, записанных в файл.
с open('Failed.py','w',encoding = 'utf-8') как f: f.write("Напишите то, что вы хотите написать\n") f.write("этот файл\n\n")
Эта программа создаст новый файл с именем Failed.py
в текущем каталоге, если он не существует. Если он существует, он перезаписывается.
Мы должны сами включать символы новой строки, чтобы различать разные строки.
0
Вы можете использовать эту функцию:
def saveListToFile (имя списка, путь для сохранения): файл1 = открыть (путь для сохранения, "w") для я в списке: file1.writelines("{}\n". format(i)) файл1.закрыть() # сохранить: saveListToFile (список, путь)
1
мой файл = открыть («сегодня», «р») IP-адреса = {} для строки в myFile: части = строка.split() if parts[1] == 'Отказ': ips.setdefault (части [0], 0) ips[части[0]] += 1 из = открыть('сбой.py', 'ш') для ip в [k для k, v в ips.iteritems(), если v >= 5]: of.write(k+'\n')
Проверьте setdefault, это делает код более разборчивым. Затем вы сбрасываете свои данные с помощью метода записи файлового объекта.
3
Сценарий Python должен сохранять вывод в текстовый файл
спросил
Изменено 3 года, 11 месяцев назад
Просмотрено 10 тысяч раз
Я собрал некоторый код из Интернета для захвата нажатых клавиш и текущего заголовка активного окна, и я пытаюсь записать вывод скрипта Python в текстовый файл.
Сценарий отлично работает в консоли IDLE, печатает нажатые клавиши и регистрирует любые изменения в текущем активном окне.
из pynput.keyboard import Key, Listener время импорта из win32gui импортировать GetWindowText, GetForegroundWindow импорт даты и времени из потокового импорта Thread защита on_press (клавиша): print('{0} нажато'.format(key)) защита on_release (ключ): ('{0} релиз'.формат(ключ)) если ключ == Key.esc: вернуть ложь защита get_titles(): текущий_название = Нет пока верно: момент2 = datetime.datetime.now().strftime("%d-%b-%Y [%H:%M:%S]") new_title = GetWindowText(GetForegroundWindow()) если новое_название != текущее_название: если len(new_title) >0: #logging.info(" Перемещено в: " + new_title) текущий_название = новое_название время сна (0,1) # печать (новое_название) ff= (moment2 + " : " + "Moved T0 : "+ new_title) печать (фф)
Я ищу простой способ записи результатов, которые я вижу в консоли, в текстовый файл. Это, вероятно, очень просто, но я очень новичок. Спасибо
- питон
- текст
- сохранить
- вывод
Python имеет встроенную функцию open()
, не требующую импорта, которая позволяет обрабатывать файлы. Эта функция «загружает» файл в память и может быть установлена в различных режимах:
-
open("filename.txt", "a")
, добавление содержимого в новую строку; -
open("filename.txt", "w")
, перезапись содержимого; и -
open("filename.txt", "r")
, установив его только для чтения. -
open("filename.txt", "x")
, чтобы создать файл.
Вы можете добавить «+» к каждому из этих режимов («a+», «w+»), если вы хотите, чтобы файл был создан, если он еще не существует.
Вы определяете файл в памяти как переменную как таковую: a = open("filename. txt", "w")
, а затем text = a.read()
a.readlines()
для загрузки строки в массив, разделенный на \n
. Используйте
a.write("Ваш желаемый вывод")
для сохранения содержимого в файл, если файл находится в режиме записи или добавления.Редактировать:
Старайтесь открывать файлы только до тех пор, пока они действительно необходимы.
с open("filename.txt", "r") как f: file_contents = f.read() # file_contents = "Этот файл содержит\nочень важную информацию" file_lines = f.readlines() # file_lines = ["Этот файл содержит", "очень важную информацию"] # Аналогично file_lines = file_contents.split("\n")
, чтобы не блокировать другие части вашей программы и не повредить файлы в случае неожиданного сбоя Python.
2
Просто добавьте
с open('textfile.