Четенето и записването във файл за съхранение или по-късна употреба са често срещани задачи в програмирането. Python има редица начини за работа с файлове, но ние ще се съсредоточим специално върху писането в текстови файлове. Текстовите файлове се използват за съхраняване на обикновени текстови данни, а Python улеснява програмистите да четат и записват данни в текстови файлове.
В този урок ще обясним как потребителите могат да пишат в текстов файл с помощта на Python.
Python има вградена функция за създаване, писане или четене на файлове. Може да обработва два типа файлове - нормални текстови файлове и двоични файлове. Изборът между тези две зависи от данните, с които работите, и изискванията на приложението.
Синтаксис за отваряне на файл в Python:
# Method 1: file = open (path_to_the_file, mode) # Manually required to close the file `file.close()` to ensure that # changes made are saved, and system resources are freed up. # Method 2: with open (path_to_the_file, mode) as file: # It automatically closes the file properly # after the block code is executed.
Функцията open() може да приема различни параметри. Но потребителят трябва да се съсредоточи върху първите две:
За писане в текстов файл потребителят ще използва следния режим:
Режим | Описание |
---|---|
'в' | Използва се за отваряне на текстов файл за писане на текст. Файлът е съкратен в този режим означава, че съществуващото съдържание на файла е изтрито. |
'а' | Използва се за отваряне на текстов файл за добавяне на текст. Указателят се позиционира в края на файла и новите данни се добавят към съществуващото съдържание. |
Пример: За да покажете как потребител може да пише в текстов файл с помощта на Python
file.write(' ') file.writelines(' ')
Изцяло зависи от потребителя дали иска да добави текста в следващия ред или не.
слънчев деол
Пример 2: Да се покаже как да се използва функцията write() за писане на списък с текстове в текстовия файл
# Method 1 - Simple Approach file = open ('writeme.txt', 'w') file.write('writeme') file.close() # Method 2 - Using the 'with' keyword to open a file with open ('writeme.txt', 'w') as file: file.write('writeme')
Изход:
И двата метода дават еднакъв резултат.
Стъпки за писане в текстов файл в Python:
За запис в текстовия файл се използва Python , потребителят трябва да изпълни следните стъпки:
Стъпка 1 - Отворете файла - За да започнем да пишем в текстов файл, първо трябва да го отворим с помощта на вградената функция open(), която приема два параметъра: името на файла (включително пътя, ако файлът не е в текущата директория) и режима в който искаме да отворим файла. В случай на запис в текстов файл, можем да използваме или режима 'w', който означава режим на запис, или режима 'a', който означава режим на добавяне. Ако файлът не съществува, Python ще създаде нов файл с даденото име.
# Opening a file 'example.txt' file = open('example.txt', 'w')
Функцията open() ще върне файлов обект и този файлов обект ще има две полезни функции за писане на текст в него:
- пиши()
- writelines()
Функцията write() се използва за запис на низа в текстовия файл, а функцията writelines() се използва за запис на списъка на низа във файла наведнъж.
Функцията writelines() може също да приеме итерируемия обект. Потребителят може също да предаде кортежа от низове, набора от низове и т.н.
За да пише в следващия ред, потребителят трябва ръчно да добави символа за нов ред.
Стъпка 2 - Запишете във файла: Веднага щом файлът бъде отворен в режим на запис, можем да използваме функцията write() или функцията writelines(), за да пишем в него. Методът write() приема низ като параметър, който искаме да запишем във файла. Можем да напишем няколко реда, като извикаме функцията write() няколко пъти или използваме знаци за нов ред ( ) между низовете, за да разделим редовете.
# Using the 'write' function file.write('This is the first line. ') file.write('This is the second line. ') # Using the 'writelines' function file.writelines('This is the first line. This is the second line. ')
Стъпка 3 - Затворете файла: Потребителят може да затвори текстовия файл с помощта на функцията close(). След като запишете желаното съдържание във файла, важно е да го затворите правилно. Затварянето на файла гарантира, че всички промени са запазени и системните ресурси са освободени.
# Closing the file file.close()
Пример 2: За да покажете как потребителите могат да добавят символ за нов ред в txt файл
file.write(' ') file.writelines(' ')
Изцяло зависи от потребителите дали искат да добавят текста в следващия ред или не.
Пример 3: Да се покаже как да се използва функцията write() за писане на списък с текстове или низове в текстов файл
# Creating a list of strings lines_1 = [ 'This is an example', 'to show how a user can write in a text file using Python'] with open('text.txt', 'w') as file: # Iterating over each element of the list for line_1 in lines_1: file.write(line_1) # Adding the line to the text.txt file.write(' ') # Adding a new line character
Изход:
Обяснение:
В горния пример първо създадохме списък с низове с име lines_1 и след това отворихме този файл с помощта на функцията open() с израза 'with'. След това използвахме for-цикъл, за да итерираме елементите на списъка, последвано от писане на реда и добавяне на нов знак за ред към файла. Добавя се символ за нов ред в края на цикъла for и показалецът се позиционира на следващия ред.
Ако файлът text.txt не съществува в папката, функцията open() ще създаде новия файл и операциите ще се извършат съответно.
Пример 4: За да покажете как потребителите могат да напишат списъка с текстови низове във файла text.txt с помощта на функцията writelines():
карта срещу набор
# Creating a list of strings lines_1 = [ 'This is an example ', 'to show how a user can write in a text file using writelines() function in Python.'] # Opening the text.txt file with open('text.txt', 'w') as file: # Using the writelines() function file.writelines(lines_1)
Изход:
Обяснение:
В горния пример функцията writelines() записва всеки елемент от списъка в един ред във файла.
Ако потребителят третира всеки елемент от списъка като ред, той трябва да го свърже със знак за нов ред.
Пример 4: За да покажете как потребителят може да свърже знака за нов ред с всеки елемент от реда във файла text.txt
Вече видяхме в пример номер 3 как можем да добавим знак за нов ред след всеки елемент от списъка. Докато използваме функцията writelines(), трябва да добавим символ за нов ред в низа.
# Creating a list of strings lines_1 = [ 'This is an example ', 'to show how a user can link a new line character ', 'with each element of the list. '] # Opening the text.txt file with open('text.txt', 'w') as file: # Using the writelines function file.writelines(lines_1)
Изход:
Обяснение:
В горния пример функцията writelines() записва елемента от списъка във файла text.txt, където всеки елемент от списъка завършва със знак за нов ред.
Заключение
В този урок обяснихме как потребителят може да пише текстове в текстов файл с помощта на Python и неговите различни функции. Първо научихме за нормалните и двоичните текстови файлове, последвани от синтаксиса за отваряне на файл. Разгледахме и разликата между 'w' (режим на запис) и 'a' (режим на добавяне). След това научихме за стъпките за писане в текстов файл в Python и внедрихме различни примери, за да разберем различните методи за писане в текстов файл.