- Write String to Text File in Python
- Python – Write String to Text File
- Examples
- 1. Write string to new text file
- 2. Write string value to an existing file
- Conclusion
- How to Write String to Text File in Python?
- Examples
- 1. Write string to text file
- 2. Write string to text file in text mode
- Writing other than String to Text File
- Summary
- Python Write String to File
- How to Write Python String to File?
- Method 1: Writing String to a File Using the “write()” Method
- Method 2: Writing String to a File Utilizing “with” Statement
- Method 3: Writing String to a File Using the “fileinput” Module
- Conclusion
- About the author
- Talha Saif Malik
- How to Write a String to a Text File using Python
- Steps to Write a String to a Text File using Python
- Step 1: Specify the path for the text file
- Step 2: Write a string to a text file using Python
- Overwrite the String
- List of Strings
- Dealing with Integers
Write String to Text File in Python
In this Python tutorial, you will learn how to write a string value to a text file, using write() method of file class.
Python – Write String to Text File
To write string to a file in Python, we can call write() function on the text file object and pass the string as argument to this write() function.
In this tutorial, we will learn how to write Python String to a file, with the help of some Python example programs.
Following is the step by step process to write a string to a text file.
- Open the text file in write mode using open() function. The function returns a file object.
- Call write() function on the file object, and pass the string to write() function as argument.
- Once all the writing is done, close the file using close() function.
Examples
1. Write string to new text file
The following is an example Python program in its simplest form to write string to a text file.
Python Program
#open text file text_file = open("D:/data.txt", "w") #write string to file text_file.write('Python Tutorial by TutorialKart.') #close file text_file.close()
Reference tutorials for the above program
When we run this program, a new file is created named data.txt in D: drive and the string is written to the file. But to programmatically confirm, you can use the value returned by write() function. write() function returns the number of bytes written to the file.
Python Program
#open text file text_file = open("D:/data.txt", "w") #write string to file n = text_file.write('Python Tutorial by TutorialKart.') #close file text_file.close() print(n)
2. Write string value to an existing file
If you try to write a string to an existing file, be careful. When you create a file in write mode and call write() function, existing data is lost and new data is written to the file.
For instance, in the previous example, we created a file and written some data to it.
Now we shall run the following example.
Python Program
#open text file text_file = open("D:/data.txt", "w") #write string to file n = text_file.write('Hello World!') #close file text_file.close()
The existing file is overwritten by the new content.
Note: If you would like to append data to a file, open file in append mode and then call write() function on the file object.
Conclusion
In this Python Tutorial, we learned how to write a string to a text file.
How to Write String to Text File in Python?
Now you can save or write string to text a file in persistent data storage using Python.
To write string to a Text File, follow these sequence of steps:
- Open file in write mode using open() function.
- Write string to the file using write() method.
- Close the file using close() method.
Examples
1. Write string to text file
In the following example, we will take a string constant and write the string to a text file by following the above said sequence of steps.
Python Program
text_file = open("sample.txt", "w") n = text_file.write('Welcome to pythonexamples.org') text_file.close()
The write() method returns the number of characters written to the text file.
Note that this kind of writing to text file, overwrites the data, if the file is already present. If the file is not present, it creates a new file and then writes the string to the file.
2. Write string to text file in text mode
A file can be opened in two modes: the first one is text mode and the second one is binary mode. By default a file is opened in text mode. However, you can explicitly specify the mode.
In the following example, we will open the file in text mode by appending “t” to the mode and write the string to a text file by following the sequence of steps mentioned at the start of this tutorial.
Python Program
text_file = open("sample.txt", "wt") n = text_file.write('Welcome to pythonexamples.org') text_file.close()
Writing other than String to Text File
If you would like to write any Python object other than string or a bytes object to a file, using write() method, you should first convert that Python object to a string or bytes object.
Summary
In this tutorial of Python Examples, we learned how to write a string to a text file, with the help of example programs.
Python Write String to File
The term “file” refers to a collection of data located at a particular location in the system. Python provides various modules and functions to read and write files. “Writing to a file” is a common task in Python that is assistive mostly at the developer’s end. This involves file opening, writing data to it, and then closing the file.
The purpose of this blog is to explain how to write a string to a specified file using various approaches.
How to Write Python String to File?
To write a string to the particular file in Python, consider the below approaches:
Method 1: Writing String to a File Using the “write()” Method
The most straightforward way to write a string to a file is via the “write()” method. This method writes a string to the file opened in “write” mode. Let’s understand it by the below example:
The below code is used to write a string to a file via the discussed method:
In the above code snippet:
-
- The file named “new_file.txt” is opened in “write” mode using the “open()” function.
- The specified string is written to the particular file via the “write()” method.
- The last step is to close the file by utilizing the “close()” method.
In the above output, it can be clearly seen that the specified string value has been written to a file.
Method 2: Writing String to a File Utilizing “with” Statement
The “with” statement provides a more efficient way of writing to a file. It automatically closes the file after the block of code has been executed which can be demonstrated in the following example.
Let’s overview the following example:
In the above lines of code:
-
- Likewise, the file named “new_file.txt” is opened in “write” or “w” mode.
- After that, similarly, the string “Python world!” is written to the specified file utilizing the “write()” method.
- Lastly, the “with” statement automatically closes the file when the code block is completed.
The above output shows that the specified string value has been written to a file.
Method 3: Writing String to a File Using the “fileinput” Module
The “fileinput” module writes a string to a file by replacing the entire file content.
The following code writes the specified string value to a file using the “fileinput” module:
import fileinput
with fileinput.FileInput ( «new_file.txt» , inplace =True ) as file:
for line in file:
print ( «Python Guide» , end = «» )-
- The “fileinput” module is used to open the file named “new_file.txt” in “inplace” mode, which means that the output is written to the same file.
- Then, the “for” loop is used to iterate through the lines of the file and replace the content of each line with the string “Python Guide” via the “print()” function.
According to the above output, the string has been written to the file successfully.
Conclusion
To write a string to a file in Python, apply the “write()” method, “with” statement, or the “fileinput” module. The “write()” method is used along with the “open()” and “close()” functions to write a specified string to the file. Similarly, the “with” statement is used along with the “open()” function to write a string to a file. The “fileinput” module however replaces the file content with the written string. This Python post presented various ways to create a text file from a string.
About the author
Talha Saif Malik
Talha is a contributor at Linux Hint with a vision to bring value and do useful things for the world. He loves to read, write and speak about Linux, Data, Computers and Technology.
How to Write a String to a Text File using Python
Steps to Write a String to a Text File using Python
Step 1: Specify the path for the text file
To begin, specify the path where the text file will be created.
For example, let’s suppose that a text file will be created under the following path:
Step 2: Write a string to a text file using Python
Next, write your string to the text file using this template:
text_file = open(r'path where the text file will be created\file name.txt', 'w') my_string = 'type your string here' text_file.write(my_string) text_file.close()
- The path where the text file will be created is: C:\Users\Ron\Desktop\Test
- The file name (with the txt file extension) is: Example.txt
- my_string contains the following text: ‘This is a Test‘
So the full Python code would look as follows (don’t forget to place ‘r‘ before your path name to avoid any errors in the path):
text_file = open(r'C:\Users\Ron\Desktop\Test\Example.txt', 'w') my_string = 'This is a Test' text_file.write(my_string) text_file.close()
Once you run the code (adjusted to your path), you’ll then see the new text file in your specified location.
If you open the text file, you’ll see the actual string:
Overwrite the String
What if you want to overwrite the original string with a new value?
For instance, what if you want to change the string to the following value:
‘This is a NEW Test‘
In that case, simply edit the text as follows:
my_string = 'This is a NEW Test'
So the new Python code would look like this:
text_file = open(r'C:\Users\Ron\Desktop\Test\Example.txt', 'w') my_string = 'This is a NEW Test' text_file.write(my_string) text_file.close()
Run the code, and you’ll see the new string:
List of Strings
Say that you want to display a list of strings in your text file.
Here is an example of a list with strings:
my_list = ['This is a Test', 'This is ALSO a Test', 'This is a FINAL Test']
In that case, you may use a for loop to display your list of strings in the text file:
text_file = open(r'C:\Users\Ron\Desktop\Test\Example.txt', 'w') my_list = ['This is a Test', 'This is ALSO a Test', 'This is a FINAL Test'] for i in my_list: text_file.write(i + '\n') text_file.close()
You’ll now see that each of the strings is presented in a new line:
Dealing with Integers
If you try to print integers into the text file, you’ll get the following error:
write() argument must be str, not int
You may then choose to convert the integers to strings.
For example, let’s suppose that you have two integers (3 and 5), and you want to present the sum of those integers in the text file.
In that case, you may apply the following syntax to achieve the above goal (notice that str() was used to convert the integers to strings):
text_file = open(r'C:\Users\Ron\Desktop\Test\Example.txt', 'w') sum_values = 3 + 5 text_file.write(str(sum_values)) text_file.close()
You’ll then get the sum of 8 in the text file: