Открытие и закрытие файла
Чтобы прочитать данные из текстового файла с именем «data».txt », вам необходимо использовать метод« open », который поставляется с официальными сборками Python. Посмотрите пример кода ниже:
f = open ('данные.txt ',' r ')ж.Закрыть()
Первый оператор открывает «данные.txt »в режиме« r »(только для чтения). Метод «open» принимает имя файла и режим обработки файла в качестве аргументов. Помимо режима «r», есть и другие режимы, которые будут объяснены позже. Приведенный выше фрагмент кода не выполняет никаких операций с открытым файлом. Метод «закрытия» используется для полного закрытия открытого файла, чтобы можно было освободить память и избежать повреждения данных в открытом файле, которое иногда может произойти, если файл не закрыт должным образом.
Вместо использования метода «open» для обработки открытия и закрытия файлов вы можете объединить его с ключевым словом «with» и использовать оператор «with open».
с открытыми ('данными.txt ',' r ') как f:проходить
Основное преимущество использования оператора «с открытым» заключается в том, что интерпретатор автоматически закрывает открытый файл, когда блок кода «с открытым» полностью разбирается. Хотя сборщик мусора в Python автоматически закрывает открытые файлы через некоторое время в соответствии с предустановленными правилами, операторы «с открытием» гарантируют, что файл будет полностью закрыт, как только блок кода будет завершен, чтобы освободить ресурсы.
Чтение строк текстового файла
Чтобы прочитать содержимое файла, используйте приведенный ниже пример кода:
с открытыми ('данными.txt ',' r ') как f:data = f.читать()
печать (данные)
Например, если «данные.txt »содержит от 1 до 10 чисел, каждое в новой строке, после выполнения приведенного выше кода вы получите следующий результат:
12
3
4
5
6
7
8
9
10
Полный дамп «data.txt »хранится в переменной« data ». Если вы хотите прочитать строки в списке, вы можете использовать следующие примеры кода:
с открытыми ('данными.txt ',' r ') как f:data = f.readlines ()
print (data) с open ('data.txt ',' r ') как f:
данные = список (е)
печать (данные)
Обратите внимание, что использование приведенных выше фрагментов может привести к появлению символа «\ n» (новая строка) в конце каждого элемента в списке. Чтобы удалить эти символы новой строки, вам может потребоваться прокрутить список. Вы можете создать новый список и удалить символы новой строки, используя вместо этого следующий код:
data_list = []с открытыми ('данными.txt ',' r ') как f:
для строки в f:
data_list.добавить (строка.полоска())
печать (список_данных)
Запустив приведенный выше код, вы получите следующий результат:
[«1», «2», «3», «4», «5», «6», «7», «8», «9», «10»]Запись данных в открытый файл
Чтобы записать данные в открываемый файл с помощью оператора «with open», вам нужно будет указать другой режим открытия в качестве аргумента. Вот некоторые из режимов:
- 'a' - используется для добавления данных в конец открытого файла, создает новый файл, если он не существует
- 'w' - стирает содержимое открытого файла и записывает новые данные, создает новый файл, если он не существует
- 'r' - режим только для чтения (режим по умолчанию, если аргумент не указан)
- 'r +' - используется как для чтения, так и для записи (начальная позиция в начале файла)
- 'b' - файл открывается в двоичном режиме (полезно для нетекстовых двоичных файлов), можно комбинировать с другими режимами
- 'a +' - используется для чтения и добавления, создает новый файл, если он не существует
- 'w +' - используется для чтения и записи, создает новый файл, если он не существует
Некоторые фрагменты кода, использующие разные режимы для записи данных, перечислены ниже.
Чтобы записать новое содержимое в текстовый файл при удалении существующих данных, используйте следующий пример:
с открытыми ('данными.txt ',' w ') как f:ж.написать ("1 \ n2")
После выполнения приведенного выше фрагмента 1–10 цифр в строке «data.txt »следует заменить двумя новыми строками.
Чтобы добавить строки в начало текстового файла, вам нужно использовать метод поиска, чтобы вернуться в начальную позицию файлового буфера:
с открытыми ('данными.txt ',' r + ') как f:data = f.читать()
ж.искать (0)
ж.напишите ("- 1 \ n0 \ n")
ж.запись (данные)
После выполнения приведенного выше фрагмента числа -1 и 0 будут добавлены в две верхние строки в «data.txt »файлы.
Чтобы добавить данные в конец файла, используйте следующий пример:
с открытыми ('данными.txt ',' a ') как f:ж.написать ("11 \ n12")
После запуска приведенного выше фрагмента в конец файла будут добавлены числа 11 и 12.
Заключение
Встроенные классы и методы в Python обеспечивают надежный способ обработки текстовых файлов. С помощью всего нескольких строк кода вы можете управлять существующими данными в файле, а также вставлять новые строки.