View Discussion
Improve Article
Save Article
View Discussion
Improve Article
Save Article
Having two file names entered from users, the task is to append the content of the second file to the content of the first
file.
Example
Input : file1.txt file2.txt Output : Content of first file [before appending] - geeksfor Content of second file [before appending] - geeks Content of first file [after appending] - geeksforgeeks Content of second file [after appending] - geeks
Algorithm :
- Enter the names of the files.
- Open both the files in read only mode using the open[] function.
- Print the contents of the files before appending using the read[] function.
- Close both the files using the close[] function.
- Open the first file in append mode and the second file in read mode.
- Append the contents of the second file to the first file using the write[] function.
- Reposition the cursor of the files at the beginning using the seek[] function.
- Print the contents of the appended files.
- Close both the files.
Suppose the text files file1.txt and file2.txt contain the following data.
file1.txt
file2.txt
python3
firstfile
=
input
[
"Enter the name of first file "
]
secondfile
=
input
[
"Enter the name of second file "
]
f1
=
open
[firstfile,
'r'
]
f2
=
open
[secondfile,
'r'
]
print
[
'content of first file before appending -'
, f1.read[]]
print
[
'content of second file before appending -'
, f2.read[]]
f1.close[]
f2.close[]
f1
=
open
[firstfile,
'a+'
]
f2
=
open
[secondfile,
'r'
]
f1.write[f2.read[]]
f1.seek[
0
]
f2.seek[
0
]
print
[
'content of first file after appending -'
, f1.read[]]
print
[
'content of second file after appending -'
, f2.read[]]
f1.close[]
f2.close[]
Output :
View Discussion
Improve Article
Save Article
View Discussion
Improve Article
Save Article
While reading or writing to a file, access mode governs the type of operations possible in the opened file. It refers to how the file will be used once it’s opened. These modes also define the location of the File Handle in the file. The definition of these access modes is as follows:
- Append Only [‘a’]: Open the file for writing.
- Append and Read [‘a+’]: Open the file for reading and writing.
When the file is opened in append mode in Python, the handle is positioned at the end of the file. The data being written will be inserted at the end, after the existing data.
Example 1: Python program to illustrate Append vs write mode.
Python3
file1
=
open
[
"myfile.txt"
,
"w"
]
L
=
[
"This is Delhi \n"
,
"This is Paris \n"
,
"This is London"
]
file1.writelines[L]
file1.close[]
file1
=
open
[
"myfile.txt"
,
"a"
]
file1.write[
"Today \n"
]
file1.close[]
file1
=
open
[
"myfile.txt"
,
"r"
]
print
[
"Output of Readlines after appending"
]
print
[file1.read[]]
print
[]
file1.close[]
file1
=
open
[
"myfile.txt"
,
"w"
]
file1.write[
"Tomorrow \n"
]
file1.close[]
file1
=
open
[
"myfile.txt"
,
"r"
]
print
[
"Output of Readlines after writing"
]
print
[file1.read[]]
print
[]
file1.close[]
Output:
Output of Readlines after appending This is Delhi This is Paris This is LondonToday Output of Readlines after writing Tomorrow
Example 2: Append data from a new line
In the above example of file handling, it can be seen that the data is not appended from the new line. This can be done by writing the newline ‘\n’ character to the file.
Python3
file1
=
open
[
"myfile.txt"
,
"w"
]
L
=
[
"This is Delhi \n"
,
"This is Paris \n"
,
"This is London"
]
file1.writelines[L]
file1.close[]
file1
=
open
[
"myfile.txt"
,
"a"
]
file1.write[
"\n"
]
file1.write[
"Today"
]
file1.write[
"Tomorrow"
]
file1
=
open
[
"myfile.txt"
,
"r"
]
print
[
"Output of Readlines after appending"
]
print
[file1.read[]]
print
[]
file1.close[]
Output:
Output of Readlines after appending This is Delhi This is Paris This is London TodayTomorrow
Note: ‘\n’ is treated as a special character of two bytes.
Example 3: Using With statement in Python
with statement is used in exception handling to make the code cleaner and much more readable. It simplifies the management of common resources like file streams. Unlike the above implementations, there is no need to call file.close[] when using with statement. The with statement itself ensures proper acquisition and release of resources.
Python3
L
=
[
"This is Delhi \n"
,
"This is Paris \n"
,
"This is London \n"
]
with
open
[
"myfile.txt"
,
"w"
] as file1:
file1.write[
"Hello \n"
]
file1.writelines[L]
with
open
[
"myfile.txt"
,
'a'
] as file1:
file1.write[
"Today"
]
with
open
[
"myfile.txt"
,
"r+"
] as file1:
print
[file1.read[]]
Output:
Hello This is Delhi This is Paris This is London Today
Note: To know more about with statement click here.