How do I wrap a string in a file in Python?

String wrapping means formatting or breaking text so that it fits within a specified width. This is useful when writing content to files, such as logs, reports, or console-like outputs that need consistent line lengths.

Python provides built-in methods through the textwrap module to wrap strings before writing them to files. Let's explore different approaches to wrap strings in files.

Using textwrap.wrap() Method

The textwrap.wrap() method splits a single paragraph into a list of lines, each at most a specified width.

Syntax

textwrap.wrap(text, width)

Example

Here's how to wrap a string into lines of specific width and write each line to a file ?

import textwrap

text = "Welcome to TutorialsPoint, the comprehensive e-learning platform for programming tutorials"
wrapped_lines = textwrap.wrap(text, width=25)

with open("demo1.txt", "w") as file:
    for line in wrapped_lines:
        file.write(line + "\n")

print("Text wrapping to 'demo1.txt' completed successfully.")
print("Wrapped lines:")
for line in wrapped_lines:
    print(repr(line))
Text wrapping to 'demo1.txt' completed successfully.
Wrapped lines:
'Welcome to TutorialsPoint,'
'the comprehensive e-'
'learning platform for'
'programming tutorials'

The content in demo1.txt will be ?

Welcome to TutorialsPoint,
the comprehensive e-
learning platform for
programming tutorials

Using textwrap.fill() Method

The textwrap.fill() method directly returns a formatted string with line breaks inserted, making it more convenient for file writing.

Syntax

textwrap.fill(text, width)

Example

Using fill() method for direct string formatting and file writing ?

import textwrap

text = "Python textwrap module provides convenient functions for formatting text by adjusting line breaks and spacing to fit specified width requirements."
wrapped_text = textwrap.fill(text, width=30)

with open("demo2.txt", "w") as file:
    file.write(wrapped_text)

print("Text wrapping to 'demo2.txt' completed successfully.")
print("Wrapped text:")
print(wrapped_text)
Text wrapping to 'demo2.txt' completed successfully.
Wrapped text:
Python textwrap module provides
convenient functions for
formatting text by adjusting
line breaks and spacing to fit
specified width requirements.

Advanced Wrapping Options

The textwrap module provides additional parameters for fine-tuning the wrapping behavior ?

import textwrap

text = "    This text has extra spaces and needs proper formatting with custom options."

# Advanced wrapping with options
wrapped = textwrap.fill(
    text, 
    width=25,
    initial_indent="? ",     # Indent first line
    subsequent_indent="  ",  # Indent other lines
    break_long_words=True   # Break long words
)

with open("demo3.txt", "w") as file:
    file.write(wrapped)

print("Advanced wrapping completed.")
print(wrapped)
Advanced wrapping completed.
? This text has extra
  spaces and needs proper
  formatting with custom
  options.

Comparison

Method Returns Best For
wrap() List of strings Processing each line individually
fill() Single formatted string Direct file writing

Conclusion

Use textwrap.fill() for simple string wrapping and direct file writing. Use textwrap.wrap() when you need to process each wrapped line individually before writing to a file.

Updated on: 2026-03-24T16:54:11+05:30

3K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements