- 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 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 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: