[ Web Proxy ]
URL:
Viewing: https://www.pythontutorial.net/python-basics/python-write-text-file/ [Back]  [Original]

How to Write to Text File in Python
Skip to content

Python Write Text File

Summary: in this tutorial, you’ll learn various ways to write text files in Python.

TL;DR #

The following illustrates how to write a string to a text file:

with open('readme.txt', 'w') as f:
    f.write('readme')Code language: JavaScript (javascript)

Steps for writing to text files #

To write to a text file in Python, you follow these steps:

The following shows the basic syntax of the open() function:

f = open(file, mode)

The open() function accepts many parameters. But you’ll focus on the first two:

For writing to a text file, you use one of the following modes:

ModeDescription
'w'Open a text file for writing. If the file exists, the function will truncate all the contents as soon as you open it. If the file doesn’t exist, the function creates a new file.
'a'Open a text file for appending text. If the file exists, the function append contents at the end of the file.
‘+’Open a text file for updating (both reading & writing).

The open() function returns a file object that has two useful methods for writing text to the file: write() and writelines().

The writelines() method accepts an iterable object, not just a list, so you can pass a tuple of strings, a set of strings, etc., to the writelines() method.

To write a line to a text file, you need to manually add a new line character:

f.write('\n')
f.writelines('\n')Code language: JavaScript (javascript)

Writing text file examples #

The following example shows how to use the write() function to write a list of texts to a text file:

lines = ['Readme', 'How to write text files in Python']
with open('readme.txt', 'w') as f:
    for line in lines:
        f.write(line)
        f.write('\n')Code language: JavaScript (javascript)

If the readme.txt file doesn’t exist, the open() function will create a new file.

[]

The following shows how to write a list of text strings to a text file:

lines = ['Readme', 'How to write text files in Python']
with open('readme.txt', 'w') as f:
    f.writelines(lines)Code language: JavaScript (javascript)

If you treat each element of the list as a line, you need to concatenate it with the newline character like this:

lines = ['Readme', 'How to write text files in Python']
with open('readme.txt', 'w') as f:
    f.write('\n'.join(lines))Code language: JavaScript (javascript)
[]

Appending text files #

To append to a text file, you need to open the text file for appending mode. The following example appends new lines to the readme.txt file:

more_lines = ['', 'Append text files', 'The End']

with open('readme.txt', 'a') as f:
    f.write('\n'.join(more_lines))Code language: JavaScript (javascript)

Output:

[]

Writing to a UTF-8 text file #

If you write UTF-8 characters to a text file using the code from the previous examples, you’ll get an error like this:

UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-44: character maps to <undefined>Code language: HTML, XML (xml)

To open a file and write UTF-8 characters to a file, you need to pass the encoding='utf-8' parameter to the open() function.

The following example shows how to write UTF-8 characters to a text file:


quote = ''

with open('quotes.txt', 'w', encoding='utf-8') as f:
    f.write(quote)
Code language: JavaScript (javascript)

Summary #

Quiz #

Was this tutorial helpful ?
Yes No
Search &hellip;:

Getting Started

Python Fundamentals

Operators

Control Flow

Functions

Python List

Python Dictionary

Python Set

Exception Handling

Python Loop with Else Clause

More on Functions

Modules

File I/O

Directory

Managing Third-party Packages

Copyright © 2021 - Present, By Python Tutorial. All Rights Reserved.


Web Proxy Viewer  |  New URL  |  Original Page