The main difference between the write() and writelines() in Python is that write() is used to write a string to an already opened file while the writelines() method is used to write a list of strings in an opened file.
- write() method takes a string as an argument and writes it to the text file.
- writelines() method is used to write multiple strings to a file. We need to pass an iterable object like lists, tuples, etc. containing strings to the writelines() method.
Let’s say, you have a text file with already 10 Lines in it. Using .writelines()
you would add them like so:
seq = ["This is 11th line\n", "This is 12th line"]
#Write sequence of lines at the end of the file.
fo.seek(0, 2)
line = fo.writelines( seq )
If you have the case, you simply would like to add 10 lines to a file, using file.write, you would implement it like so:
for i in range(10):
f.write("This is line %d\r\n" % (i+1))
Difference between write() and writelines in Python
A simple example code.
file = open("emp.txt", "w")
for i in range(3):
name = input("Enter the name of the employee: ")
file.write(name)
file.write("\n")
file.close()
Output:
The writelines() function does not add a newline character(\n) to the end of the string.
file1 = open("Employees.txt", "w")
lst = ['a', 'b', 'c']
for i in range(3):
file1.writelines(lst[i])
file1.close()
Output: abc
Do comment if you have any doubts or suggestions on this Python difference topic.
Note: IDE: PyCharm 2021.3.3 (Community Edition)
Windows 10
Python 3.10.1
All Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.