Помимо написания кодов, вы можете прочитать данные сохраненных файлов и внести в них изменения. Python предоставляет простые функции для чтения и записи данных в файлы.
1)Прочитать текстовый файл
Одним из способов чтения или записи файла в Python является использование встроенной функции open
. Функция open
предоставляет объект File, который содержит методы и атрибуты, необходимые для чтения, сохранения и управления файлом. Первый параметр, который вам нужен, это путь к файлу и имя файла.
Аргумент режима является необязательным, его значение по умолчанию — r. В этом блокноте мы рассмотрим только два режима:
- r Режим чтения для чтения файлов
- w Режим записи для записи файлов
Пример показан ниже:
# Прочтите файл Example1.txt
example1 = “C:\\Users\JAY\Desktop\example1.txt” file1 = open(example1, “r”)
#Вы можете распечатать путь к файлу
# Print the path of file file1.name
# Напечатать режим файла, либо «r», либо «w».
file1.mode
#Мы можем прочитать файл, присвоив его переменной
FileContent = file1.read() FileContent
# Распечатать файл с ‘\n’ в качестве новой строки
print(FileContent)
#››текстовый файл имеет тип string
# если вы используете функцию открытия для чтения и записи файла, вам нужно закрыть файл после использования
file1.close()
В Python 3 использование функции open считается плохой практикой. Мы используем функцию with open
для безопасной практики. Благодаря этому вам не нужно закрывать файл после использования.
with open(example1, “r”) as file1: FileContent = file1.read() print(FileContent
# Проверить, закрыт ли файл
file1.closed True
# прочитать первые четыре символа
with open(example1, “r”) as file1: print(file1.read(4))
После вызова метода .read(4)
вызываются первые 4 символа. Если мы снова вызовем метод, будут вызваны следующие 4 символа.
# Мы также можем читать по одной строке файла, используя метод readline()
with open(example1, “r”) as file1: print(“first line: “ + file1.readline())
# Мы также можем использовать цикл для перебора строк файла одну за другой
with open(example1,”r”) as file1: i = 0; for line in file1: print(“Iteration”, str(i), “: “, line) i = i + 1; #output Iteration 0 : This is line 1 Iteration 1 : This is line 2 Iteration 2 : This is line 3
# Прочитать все строки и сохранить как список, каждый элемент списка соответствует строке текста.
with open(example1, “r”) as file1: FileasList = file1.readlines()
# Печатаем первую строку
FileasList[0] 'This is line 1 \n'
2) Записать файл
Мы можем открыть файловый объект, используя метод write()
, чтобы сохранить текстовый файл в список. Чтобы записать режим, аргумент должен быть установлен для записи w. Давайте создадим файл Example2.txt со строкой: "Это строка A".
with open(‘/resources/data/Example2.txt’, ‘w’) as writefile: writefile.write(“This is line A”)
Чтобы проверить, сработало ли это, прочитайте файл
with open(‘/resources/data/Example2.txt’, ‘r’) as testwritefile: print(testwritefile.read())
мы также можем добавить несколько строк. Нет необходимости писать код снова и снова.
with open(‘/resources/data/Example2.txt’, ‘w’) as writefile: writefile.write(“This is line A\n”) writefile.write(“This is line B\n”)
Теперь предположим, что у нас есть список, и мы хотим добавить этот объект списка в файл .txt.
мы можем сделать следующее
# Sample list of text Lines = [“This is line A\n”, “This is line B\n”, “This is line C\n”] # Write the strings in the list to text file with open('Example2.txt', 'w') as writefile: for line in Lines: print(line) writefile.write(line)
Теперь предположим, что мы хотим скопировать файл2 в третий файл, а затем
with open(‘Example2.txt’,’r’) as readfile: with open(‘Example3.txt’,’w’) as writefile: for line in readfile: writefile.write(line)
Проверьте, успешно ли выполнена копия
with open(‘Example3.txt’,’r’) as testwritefile: print(testwritefile.read())
Просто, верно?
ключевые моменты использования команд
Чтобы открыть файл для чтения и записи, используйте with open
Используйте аргумент 'r' or 'w'
для чтения и записи файла.
Откройте файл как readfile/writefie or testreadfile/testwritefile
для соответствующей цели.
Опять же, вам не нужно помнить все. Код всегда можно найти в гугле. Только практикуясь, вы можете освоить кодирование.