Difference between revisions of "Python-3.4.3/C2/Getting-started-with-files/English"

From Script | Spoken-Tutorial
Jump to: navigation, search
(Created page with "'''Python/C2/Getting-started-with-files/English''''''Title of script''': Getting started with '''files''' '''Author: Trupti Kini''' '''Keywords: Python, IPython, files, '''...")
 
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''Python/C2/Getting-started-with-files/English''''''Title of script''': Getting started with '''files'''
+
'''Title of script''': '''Getting started with files'''
  
 
'''Author: Trupti Kini'''
 
'''Author: Trupti Kini'''
  
'''Keywords: Python, IPython, files, '''
+
'''Keywords: IPython, files, read, write, append, mode, splitlines()'''
 
{| style="border-spacing:0;"
 
{| style="border-spacing:0;"
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| <center>'''Visual Cue'''</center>
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| <center>'''Visual Cue'''</center>
Line 19: Line 19:
  
  
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| At the end of this tutorial, you will be able learn to -
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| At the end of this tutorial, you will learn to -
 
+
 
+
 
# Open a file.
 
# Open a file.
 
# Read the contents of the file line by line.
 
# Read the contents of the file line by line.
 
# Read the entire content of the file at once.
 
# Read the entire content of the file at once.
# Append the lines of a file to a list.
+
# Append the lines of a file to a '''list''' and
 
# Close the file.
 
# Close the file.
 
 
  
 
|-
 
|-
Line 37: Line 33:
  
 
* '''Ubuntu Linux 16.04''' operating system
 
* '''Ubuntu Linux 16.04''' operating system
* '''Python 3.4.3'''
+
* '''Python 3.4.3 '''and
* '''IPython 5.1.0'''
+
* '''IPython 5.1.0'''<br/>
 
+
 
+
  
 
|-
 
|-
Line 46: Line 40:
  
 
Pre-requisite
 
Pre-requisite
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| To practice this tutorial, you should know about how to-
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| To practice this tutorial, you should know about
  
* Lists and
+
* '''Lists''' and
* '''for''' statement
+
* '''for statement'''
  
If not, see the pre-requisite Python tutorials on http://spoken-tutorial.org
+
If not, see the pre-requisite '''Python''' tutorials on this website.
  
 
|-
 
|-
Line 59: Line 53:
  
  
Highlight according to narration: (open and fileobject)
+
Highlight according to narration: (open and file object)
  
'''''sy'''''doneIf you explain the syntax, then the actual code, it is easy to follow. Get suggestion from the content creator'''''ntax:'''''
+
'''''syntax:'''''
  
  
'''''file_object <nowiki>= open(“filename”, “mode”)</nowiki>'''''
+
'''''file_object <nowiki>= open(</nowiki>filename, mode)'''''
  
  
 
Filename - name of the file to be opened.
 
Filename - name of the file to be opened.
  
Mode- indicates how the file is going to be opened.
+
Mode - indicates how the file is going to be opened.
 
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| To open a file for reading or writing, we can use a '''built in function''' called '''open()'''.
 
+
 
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| To open a file for reading or writing, we can use a built in function called open().
+
  
  
Open() function returns a file object.
+
'''Open() function''' returns a '''file object'''.
  
  
The syntax is shown here:
+
The syntax is shown here.
  
  
Filename - is the name of the file to be opened.
 
  
Mode- This indicates how the file is going to be opened.
 
  
  
 +
'''Filename''' - is the name of the file to be opened.
  
 +
'''Mode'''- This indicates how the file is going to be opened.
  
 
|-
 
|-
Line 94: Line 85:
 
Open a file
 
Open a file
  
'''''sy'''''doneIf you explain the syntax, then the actual code, it is easy to follow. Get suggestion from the content creator'''''ntax:'''''
+
'''''syntax:'''''
  
  
'''''f <nowiki>= open(“filename”, “mode”)</nowiki>'''''
+
'''''file_object <nowiki>= open(filename, mode)</nowiki>'''''
  
 
r- Read mode
 
r- Read mode
Line 105: Line 96:
 
a -Appending mode
 
a -Appending mode
  
r+ - Read and Writewe are specifying the default mode below. So it is not required here.
+
r+ - Read and Write
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| r- represent the Read mode
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| r- is for '''Read mode'''
  
w- is for Write mode  
+
w- is for '''Write mode'''
  
a - represents Appending mode and
+
a - represents '''Appending mode''' and
  
r+ - for both Read and Write mode
+
r+ - for both '''Read and Write mode'''
  
  
Specifying mode is optional.
+
Specifying '''mode''' is optional.
 
+
Default mode is r.
+
  
 
|-
 
|-
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Open pendulum.txt in text editor  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Open pendulum.txt in text editor  
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Let us open a file, '''pendulum.txt''' in a text editor.
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Let us open a file '''pendulum.txt''' in a text editor.
 
+
 
+
 
+
  
 
|-
 
|-
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Point to the columns in the file
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Point to the columns in the file
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| This file contains 2 data columns, length and time of pendulum.
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| This file contains 2 data columns, '''length''' and '''time''' of '''pendulum'''.
  
  
 
We will be using this text file for our demonstration.
 
We will be using this text file for our demonstration.
 
 
 
  
 
|-
 
|-
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"|  
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Text box on the screen as per the narration
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| The file '''pendulum.txt''' is available in the code file link of this tutorial.
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| The file '''pendulum.txt''' is available in the '''Code File link''' of this tutorial.  
 
+
 
+
Please download it in '''Home''' directory and use it.
+
 
+
  
  
 +
Please download it in '''Home directory''' and use it.
  
 
|-
 
|-
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| <nowiki>[Terminal]</nowiki>
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| <nowiki>[Terminal]</nowiki>
  
'''ipython3'''
+
Press '''Ctrl+Alt+T '''keys
 
+
 
+
  
 +
Type '''ipython3'''
 
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.014cm;padding-right:0.191cm;"| Let us first open the '''Terminal '''by pressing '''Ctrl+Alt+T '''keys simultaneously.  
 
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.014cm;padding-right:0.191cm;"| Let us first open the '''Terminal '''by pressing '''Ctrl+Alt+T '''keys simultaneously.  
  
  
Now, type '''ipython3''' and press '''Enter'''.  
+
Type '''ipython3''' and press '''Enter'''.  
  
 
|-
 
|-
 
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.014cm;padding-right:0.191cm;"| <nowiki>[IPython console]</nowiki>
 
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.014cm;padding-right:0.191cm;"| <nowiki>[IPython console]</nowiki>
 +
 +
Type
  
 
'''%pylab '''and press '''Enter.'''
 
'''%pylab '''and press '''Enter.'''
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.014cm;padding-right:0.191cm;"| Let us initialise the '''pylab''' package.
+
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.014cm;padding-right:0.191cm;"| Let us initialise the '''pylab package'''.
  
  
 
Type '''%pylab '''and press''' Enter.'''
 
Type '''%pylab '''and press''' Enter.'''
 +
 +
Let us clear the '''terminal'''.
  
 
|-
 
|-
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.014cm;padding-right:0.191cm;"|  
+
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.014cm;padding-right:0.191cm;"| Open pendulum.txt
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.014cm;padding-right:0.191cm;"| Let us open the file, '''pendulum.txt.'''
+
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.014cm;padding-right:0.191cm;"| Let us open the file '''pendulum.txt.'''
 
+
 
+
 
+
  
 
|-
 
|-
Line 178: Line 158:
  
  
'''If so, specify that the default mode is r, read mode''''''f = open('pendulum.txt') - should we specify the mode here or leave it empty. if you don't sepcify, is it 'r' mode by default.''''''yes coz that will come when we just type f and press enter''''''Do we need to specify the mode like r, w, a, r+ in the open command'''f = open('pendulum.txt')'''
+
Type '''f = open('pendulum.txt')'''
 
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.014cm;padding-right:0.191cm;"| Type  
 
| style="background-color:#ffffff;border:1pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.014cm;padding-right:0.191cm;"| Type  
  
Line 185: Line 165:
  
  
Here the mode is not specified'''. '''By default, it is ‘r’.
+
Here the '''mode''' is not specified.
 +
 
 +
By default, it is '''‘r’'''.
  
 
|-
 
|-
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| <nowiki>[IPython Terminal]</nowiki>
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| <nowiki>[IPython Terminal]</nowiki>
  
'''f'''
+
Type '''f'''
 
+
 
+
  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Let us type '''f''' on the '''terminal''' to see what it is.
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Let us type '''f''' on the '''terminal''' to see what it is.
  
  
The file object f, shows the filepath and mode of the file, which is open.  
+
The '''file object f''' shows the filename and '''mode''' of the file which is open.  
  
 
|-
 
|-
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| <nowiki>[IPython Terminal]</nowiki>
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| <nowiki>[IPython Terminal]</nowiki>
  
Highlight '''filepath '''and '''mode 'r''''
+
Highlight '''filename '''and '''mode 'r''''
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| ''''r' '''stands for '''read''' only '''mode'''.
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| ''''r' '''stands for '''read only mode'''.
  
 
+
As you can see, this '''file''' is open in '''read only mode'''.
As you can see, this '''file''' is '''open''' in '''read''' only '''mode'''.
+
  
 
|-
 
|-
Line 213: Line 192:
  
  
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Now let us learn to '''read''' the whole '''file''' into a single '''variable'''.  
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Now let us learn to read the whole '''file''' into a single '''variable'''.  
 
+
 
+
 
+
  
 
|-
 
|-
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| '''type'''
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Type
  
 
'''pend = f.read()'''
 
'''pend = f.read()'''
Line 228: Line 204:
  
  
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| '''Type'''
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Type
 
+
 
+
 
'''pend '''''equal to '''''f '''''dot '''''read'' '''open and close parentheses.''
 
'''pend '''''equal to '''''f '''''dot '''''read'' '''open and close parentheses.''
  
  
We use the '''read method''' to '''read''' all the contents of the file into the '''variable''', '''pend'''
+
We use the '''read method''' to read all the contents of the file into the '''variable pend'''
  
  
Line 240: Line 214:
  
  
To use read method we use the file object dot read method.
+
To use '''read method''' we use the '''file object dot read method'''.
  
 
|-
 
|-
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| <nowiki>[IPython Terminal]</nowiki>
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| <nowiki>[IPython Terminal]</nowiki>
  
 +
Type
  
 
'''print(pend)'''
 
'''print(pend)'''
Line 255: Line 230:
  
 
|-
 
|-
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Point to the output
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Point to the data
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| We can see that '''pend''' has all the '''data''' of the '''file pendulum .txt'''.
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| We can see that '''pend''' has all the data of the '''file pendulum.txt'''.
 
+
 
+
 
+
  
 
|-
 
|-
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| <nowiki>[IPython Terminal]</nowiki>
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| <nowiki>[IPython Terminal]</nowiki>
  
 +
Type
  
'''pend'''Highlight output
+
'''pend'''Highlight data with newline characters
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Type just '''pend''' to see more explicitly, what it contains.
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Type just '''pend''' to see more explicitly, what it contains.
  
  
We can see the newline characters as well in the output.
+
We can see the '''newline characters''' as well, in the output.
  
 
|-
 
|-
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| doneIt would be better if you teach the method splitlines and then give an example. After that give some exercise for the user to solve. Please check the entire script for the same.<nowiki>[IPython Terminal]</nowiki>doneIt would be better if you teach the method splitlines and then give an example. After that give some exercise for the user to solve. Please check the entire script for the same.
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| <nowiki>[IPython Terminal]</nowiki>
  
  
  
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Let us learn to split the variable '''pend''' into a list of lines in the file.
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Let us learn to split the '''variable pend''' into a '''list''' of lines in the file.
  
  
We use the method '''splitlines''' to '''split''' a '''file''' of data into '''list''' of lines.doneIt would be better if you teach the method splitlines and then give an example. After that give some exercise for the user to solve. Please check the entire script for the same.
+
We use the '''method splitlines''' to split a file of data into '''list''' of lines.
  
 
|-
 
|-
Line 288: Line 261:
  
 
'''pend_list = pend.splitlines()'''
 
'''pend_list = pend.splitlines()'''
 
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| For this we need to store this '''list '''in a '''variable''', say '''pend_list'''
'''pend_list'''
+
 
+
 
+
Highlight the output
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| doneIt would be better if you teach the method splitlines and then give an example. After that give some exercise for the user to solve. Please check the entire script for the same.For this we need to store this '''list '''in a variable, say '''pend_list'''
+
 
+
  
 
Type
 
Type
Line 302: Line 269:
 
Press '''Enter'''
 
Press '''Enter'''
  
 
+
|-
Type
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Type '''pend_list'''
 
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"|
'''pend '''''underscore '''''list '''
+
Type '''pend '''''underscore '''''list '''
  
 
Press '''Enter'''
 
Press '''Enter'''
  
 
+
|-
We got the data into list of lines.
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"|Highlight the data into list of lines
 +
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| We got the data into '''list''' of lines.
  
 
|-
 
|-
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Highlight output
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Highlight the data into list of lines
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| '''pend_list''' does not contain '''newline''' '''characters '''like '''\n'''.
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| '''pend_list''' does not contain '''newline characters '''like '''\n'''.
  
  
This is because the string '''pend''' is '''split''' on the '''newline''' '''characters'''.  
+
This is because the '''string pend''' is split on the '''newline characters'''.  
  
 
|-
 
|-
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"|  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"|  
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Now, let us learn to read the file line-by-line.  
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"|  
 +
But, before that we will have to close the file, since the file has already been read till the end.
  
 
|-
 
|-
Line 328: Line 297:
  
 
'''f.close()'''
 
'''f.close()'''
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| But, before that we will have to close the file, since the file has already been read till the end.
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Let us close the '''file''' opened into '''f'''.  
  
 +
Type '''f  dot close ''' ''open and close parentheses''
  
Let us close the '''file''' opened into f.
+
Press '''Enter'''
 
+
Type '''f '''''dot '''''close '''''open and close parentheses''
+
  
 
|-
 
|-
Line 340: Line 308:
  
 
Highlight '''closed file'''
 
Highlight '''closed file'''
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| It is a good programming practice to '''close''' any '''file''' '''objects''' that we have opened, after their job is done.
 
  
|-
+
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"|  
+
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Let us, now move on to '''reading''' '''files''' '''line'''-'''by'''-'''line'''.  
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| It is a good programming practice
 +
* to '''close''' any '''file objects''' that we have opened
 +
* after their job is done.
  
 
|-
 
|-
Line 353: Line 322:
  
  
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Pause the video here, try out the following exercise and resume the video.
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Pause the video here, try out the following exercise and then resume the video.
  
  
Re-open the file '''pendulum.txt''' with '''f''' as the file object.
+
Re-open the file '''pendulum.txt''' with '''f''' as the '''file object'''.
  
Recall, that we have closed the file earlier.
+
Recall that we have closed the file earlier.
 +
 
 +
Let us switch back to the terminal.
 +
 
 +
|-
 +
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"|
 +
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Let us now move on to reading files line- by - line.  
  
 
|-
 
|-
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| <nowiki>[IPython Terminal]</nowiki>
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| <nowiki>[IPython Terminal]</nowiki>
  
'''f = open('pendulum.txt')'''
+
Type'''f = open('pendulum.txt')'''
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| To re-open the file again, type  
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"|  
 +
 
 +
To re-open the file again, type  
  
 
'''f '''''is equal to '''''open '''''inside parentheses inside quotes '''''pendulum.txt'''
 
'''f '''''is equal to '''''open '''''inside parentheses inside quotes '''''pendulum.txt'''
Line 371: Line 348:
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| <nowiki>[IPython Terminal]</nowiki>
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| <nowiki>[IPython Terminal]</nowiki>
  
 +
Type
  
 
'''for line in f:'''
 
'''for line in f:'''
Line 376: Line 354:
 
'''print(line)'''
 
'''print(line)'''
  
 
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Now, to read the file line-by-line, we '''iterate''' over the '''file object''' using the '''for loop'''.  
 
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Now, to '''read''' the '''file''' line-by-line, we '''iterate''' over the '''file''' '''object''' line-by-line, using the '''for''' '''loop'''.  
+
  
  
 
Let us '''iterate''' over the '''file''' line-wise and '''print''' each of the lines.
 
Let us '''iterate''' over the '''file''' line-wise and '''print''' each of the lines.
  
 +
 +
Let us clear the '''terminal'''.
  
 
Type  
 
Type  
  
'''for line in f '''''colon ''press '''Enter'''
+
'''for line in f colon''' press '''Enter'''
  
''four spaces''''' print''''' inside parentheses '''''line'''
+
'''four spaces print inside parentheses line'''
  
 
|-
 
|-
Line 395: Line 373:
  
 
Highlight '''line'''
 
Highlight '''line'''
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Here, '''line''' is a '''loop''' '''variable''', and it is not a keyword.  
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Here, '''line''' is a '''loop variable''', and it is not a '''keyword'''.  
  
  
 
We could have used any other '''variable''' name, but '''line''' seems meaningful enough.
 
We could have used any other '''variable''' name, but '''line''' seems meaningful enough.
 +
 +
Press '''Enter''' twice.
  
 
|-
 
|-
Line 405: Line 385:
  
 
Highlight '''line'''
 
Highlight '''line'''
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Instead of just printing the lines, let us append them to a list, say '''line_list'''.  
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Instead of just printing the lines, let us append them into a '''list''', say '''line_list'''.  
 
+
 
+
 
+
  
 
|-
 
|-
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| <nowiki>[IPython Terminal]</nowiki>
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| <nowiki>[IPython Terminal]</nowiki>
  
 +
Type
  
 
'''<nowiki>line_list = []</nowiki>'''
 
'''<nowiki>line_list = []</nowiki>'''
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| We first '''initialize''' an '''line_list '''as an '''empty-list'''
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| We first '''initialize''' a '''line_list '''as an '''empty-list'''
  
  
 
Type,
 
Type,
  
line ''underscore ''list ''equal to ''open and close square brackets.
+
'''line ''underscore ''list ''is'' ''equal to ''open and close square brackets.'''
 +
Press Enter
  
 
|-
 
|-
Line 428: Line 407:
 
Highlight according to narration.
 
Highlight according to narration.
  
 +
Type
  
 
'''for line in open('pendulum.txt'):'''
 
'''for line in open('pendulum.txt'):'''
Line 438: Line 418:
  
  
for line in open ''inside parentheses inside quotes ''pendulum ''dot'' txt colon ''press enter''
+
'''for line in open ''inside parentheses inside quotes ''pendulum ''dot'' txt colon''' press '''Enter'''
 
+
''four space'' line'' underscore'' list ''dot ''append i''nside parentheses'' line
+
 
+
 
+
Here, the '''for''' loop '''reads''' the file '''pendulum.txt '''line-by-line .
+
 
+
  
The '''append''' method will add each of the line to the list, '''line_list.'''
+
'''''four space'' line'' underscore'' list ''dot ''append i''nside parentheses'' line'''
  
 +
Press '''Enter''' twice.
  
Let us then '''read''' the '''file''' line-by-line and then '''append''' each of the lines to the '''line_list'''.
 
  
 +
Here, the '''for loop '''reads the file '''pendulum.txt '''line-by-line.
  
for line in open ''inside parentheses inside quotes ''pendulum ''dot'' txt colon ''press enter''
 
  
''four space'' line'' underscore'' list ''dot ''append i''nside parentheses'' line
+
The '''append method''' will add each of the line to the '''list, line_list.'''
  
 
|-
 
|-
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"|  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"|  
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| We could, as usual '''close''' the file using '''f.close() '''and re-open it.  
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| We could, as usual close the file using '''f.close() '''and re-open it.  
  
 
|-
 
|-
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"|  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"|  
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| But, this time, let's leave alone the '''file''' '''object''' '''f''' and directly open the file within the '''for''' '''statement'''.  
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| But, this time, let's leave the '''file object f '''and directly open the file within the '''for statement'''.  
  
  
Line 473: Line 447:
 
Type '''line_list '''and press '''Enter'''
 
Type '''line_list '''and press '''Enter'''
  
Highlight output
+
Highlight data
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Let us see what '''line_list''' contains.
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Let us see what '''line_list''' contains.
  
  
Type '''line_list '''and press '''Enter.'''
+
Type '''line ''underscore '' list '''and press '''Enter.'''
  
 
|-
 
|-
Line 483: Line 457:
  
  
Highlight '''newline character'''
+
Highlight '''newline characters'''
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| If you noticed, '''line_list''' is a list of the lines in the file, along with the '''newline''' '''characters'''.  
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| '''line ''underscore '' list''' is a '''list''' of the lines in the file, along with the '''newline characters'''.  
  
 
|-
 
|-
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"|  
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"|  
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| We can '''strip''' out the '''newline''' '''characters''' from the lines by using some string methods.
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| We can strip out the '''newline characters''' from the lines by using some '''string methods'''.
  
This will be covered in the further tutorial on strings.
+
This will be covered in the further tutorial on '''strings'''.
  
 
|-
 
|-
Line 499: Line 473:
  
  
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| This brings us to the end of this tutorial. In this tutorial, we learnt to -
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| This brings us to the end of this tutorial.  
 
+
# Open and close files using the '''open''' and '''close''' methods respectively.
+
# Read the data in the files as a whole, by using the '''read''' method.
+
  
 +
In this tutorial, we learnt to -
  
 +
* Open and close files using the '''open''' and '''close methods''' respectively.
 +
* Read the data in the files as a whole, by using the '''read method'''.
  
 
|-
 
|-
Line 510: Line 484:
  
 
Summary  
 
Summary  
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| # Read the data in the files line by line by iterating over the file object using the '''for loop'''.
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"|  
# Append the lines of a file to a list using the '''append''' '''method''' within the '''for loop'''.
+
 
+
  
 +
* Read the data in the files line by line by iterating over the '''file object''' using the '''for loop'''.
 +
* Append the lines of a file to a '''list''' using the '''append method''' within the '''for loop'''.
  
 
|-
 
|-
Line 524: Line 498:
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Here are some self assessment questions for you to solve
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Here are some self assessment questions for you to solve
  
# The '''open''' function returns a
+
1. The '''open function''' returns a
  
* string
+
* '''string'''
* list
+
* '''list'''
* file object
+
* '''file object'''
* function
+
* '''function'''
 
+
2. What does the function '''splitlines()''' do.
+
 
+
* Displays the '''data''' as '''strings''', all in a line
+
* Displays the '''data''' line by line as '''strings'''
+
* Displays the '''data''' line by line but not as '''strings'''
+
  
 +
2. What does the '''function splitlines()''' do.
  
 +
* Displays the data as '''strings''' all in a line
 +
* Displays the data line by line as '''strings'''
 +
* Displays the data line by line but not as '''strings'''
  
 
|-
 
|-
Line 546: Line 518:
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| And the answers are,
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| And the answers are,
  
# '''open '''function returns a '''file object'''
+
# '''open function''' returns a '''file object'''
# '''splitlines() '''displays the '''data''' line by line as '''strings'''
+
# '''splitlines() '''displays the data line by line as '''strings'''
 
+
 
+
  
 
|-
 
|-
Line 581: Line 551:
 
|-
 
|-
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Previous slide
 
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| Previous slide
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| This is _________ from IIT Bombay (or FOSSEE, if you wish) signing off.
+
| style="background-color:#ffffff;border:0.5pt solid #000001;padding-top:0cm;padding-bottom:0cm;padding-left:0.088cm;padding-right:0.191cm;"| This is Trupti Kini from IIT Bombay (or FOSSEE, if you wish) signing off.
  
 
Thank you.
 
Thank you.
  
 
|}
 
|}

Latest revision as of 12:09, 31 January 2018

Title of script: Getting started with files

Author: Trupti Kini

Keywords: IPython, files, read, write, append, mode, splitlines()

Visual Cue
Narration
Show Slide Hello Friends. Welcome to the tutorial on "Getting started with files".
Show Slide

Objectives


At the end of this tutorial, you will learn to -
  1. Open a file.
  2. Read the contents of the file line by line.
  3. Read the entire content of the file at once.
  4. Append the lines of a file to a list and
  5. Close the file.
Show slide

System Specifications

To record this tutorial, I am using
  • Ubuntu Linux 16.04 operating system
  • Python 3.4.3 and
  • IPython 5.1.0
Show Slide:

Pre-requisite

To practice this tutorial, you should know about
  • Lists and
  • for statement

If not, see the pre-requisite Python tutorials on this website.

Show slide

Open a file


Highlight according to narration: (open and file object)

syntax:


file_object = open(filename, mode)


Filename - name of the file to be opened.

Mode - indicates how the file is going to be opened.

To open a file for reading or writing, we can use a built in function called open().


Open() function returns a file object.


The syntax is shown here.



Filename - is the name of the file to be opened.

Mode- This indicates how the file is going to be opened.

Show slide

Open a file

syntax:


file_object = open(filename, mode)

r- Read mode

w- Write mode

a -Appending mode

r+ - Read and Write

r- is for Read mode

w- is for Write mode

a - represents Appending mode and

r+ - for both Read and Write mode


Specifying mode is optional.

Open pendulum.txt in text editor Let us open a file pendulum.txt in a text editor.
Point to the columns in the file This file contains 2 data columns, length and time of pendulum.


We will be using this text file for our demonstration.

Text box on the screen as per the narration The file pendulum.txt is available in the Code File link of this tutorial.


Please download it in Home directory and use it.

[Terminal]

Press Ctrl+Alt+T keys

Type ipython3

Let us first open the Terminal by pressing Ctrl+Alt+T keys simultaneously.


Type ipython3 and press Enter.

[IPython console]

Type

%pylab and press Enter.

Let us initialise the pylab package.


Type %pylab and press Enter.

Let us clear the terminal.

Open pendulum.txt Let us open the file pendulum.txt.
[IPython Terminal]


Type f = open('pendulum.txt')

Type


f is equal to open inside parentheses inside quotes pendulum dot txt


Here the mode is not specified.

By default, it is ‘r’.

[IPython Terminal]

Type f

Let us type f on the terminal to see what it is.


The file object f shows the filename and mode of the file which is open.

[IPython Terminal]

Highlight filename and mode 'r'

'r' stands for read only mode.

As you can see, this file is open in read only mode.

[IPython Terminal]


Now let us learn to read the whole file into a single variable.
Type

pend = f.read()


Highlight pend= f.read()


Type

pend equal to f dot read open and close parentheses.


We use the read method to read all the contents of the file into the variable pend


Press Enter


To use read method we use the file object dot read method.

[IPython Terminal]

Type

print(pend)

Now, let us see what pend contains, by typing

print inside parentheses pend.


Press Enter

Point to the data We can see that pend has all the data of the file pendulum.txt.
[IPython Terminal]

Type

pendHighlight data with newline characters

Type just pend to see more explicitly, what it contains.


We can see the newline characters as well, in the output.

[IPython Terminal]


Let us learn to split the variable pend into a list of lines in the file.


We use the method splitlines to split a file of data into list of lines.

[IPython Terminal]


Type

pend_list = pend.splitlines()

For this we need to store this list in a variable, say pend_list

Type

pend_list equal to pend dot splitlines open and close parentheses

Press Enter

Type pend_list

Type pend underscore list

Press Enter

Highlight the data into list of lines We got the data into list of lines.
Highlight the data into list of lines pend_list does not contain newline characters like \n.


This is because the string pend is split on the newline characters.

But, before that we will have to close the file, since the file has already been read till the end.

[IPython Terminal]


f.close()

Let us close the file opened into f.

Type f dot close open and close parentheses

Press Enter

[IPython Terminal]


Highlight closed file


It is a good programming practice
  • to close any file objects that we have opened
  • after their job is done.
Show Slide

Exercise 1


Pause the video here, try out the following exercise and then resume the video.


Re-open the file pendulum.txt with f as the file object.

Recall that we have closed the file earlier.

Let us switch back to the terminal.

Let us now move on to reading files line- by - line.
[IPython Terminal]

Typef = open('pendulum.txt')

To re-open the file again, type

f is equal to open inside parentheses inside quotes pendulum.txt

[IPython Terminal]

Type

for line in f:

print(line)

Now, to read the file line-by-line, we iterate over the file object using the for loop.


Let us iterate over the file line-wise and print each of the lines.


Let us clear the terminal.

Type

for line in f colon press Enter

four spaces print inside parentheses line

[IPython Terminal]


Highlight line

Here, line is a loop variable, and it is not a keyword.


We could have used any other variable name, but line seems meaningful enough.

Press Enter twice.

[IPython Terminal]


Highlight line

Instead of just printing the lines, let us append them into a list, say line_list.
[IPython Terminal]

Type

line_list = []

We first initialize a line_list as an empty-list


Type,

line underscore list is equal to open and close square brackets. Press Enter

[IPython Terminal]


Highlight according to narration.

Type

for line in open('pendulum.txt'):

line_list.append(line)


Type the code as


for line in open inside parentheses inside quotes pendulum dot txt colon press Enter

four space line underscore list dot append inside parentheses line

Press Enter twice.


Here, the for loop reads the file pendulum.txt line-by-line.


The append method will add each of the line to the list, line_list.

We could, as usual close the file using f.close() and re-open it.
But, this time, let's leave the file object f and directly open the file within the for statement.


This will save us the trouble of closing the file, each time we open it.

[IPython Terminal]


Type line_list and press Enter

Highlight data

Let us see what line_list contains.


Type line underscore list and press Enter.

[IPython Terminal]


Highlight newline characters

line underscore list is a list of the lines in the file, along with the newline characters.
We can strip out the newline characters from the lines by using some string methods.

This will be covered in the further tutorial on strings.

Show Slide

Summary


This brings us to the end of this tutorial.

In this tutorial, we learnt to -

  • Open and close files using the open and close methods respectively.
  • Read the data in the files as a whole, by using the read method.
Show Slide

Summary

  • Read the data in the files line by line by iterating over the file object using the for loop.
  • Append the lines of a file to a list using the append method within the for loop.
Show Slide

Assignment


Here are some self assessment questions for you to solve

1. The open function returns a

  • string
  • list
  • file object
  • function

2. What does the function splitlines() do.

  • Displays the data as strings all in a line
  • Displays the data line by line as strings
  • Displays the data line by line but not as strings
Show Slide


Solutions

And the answers are,
  1. open function returns a file object
  2. splitlines() displays the data line by line as strings
Show Slide

Forum

Please post your timed queries in this forum.
Show Slide

Fossee Forum

Please post your general queries on Python in this forum.
Show Slide

Textbook Companion

FOSSEE team coordinates the TBC project.
Show Slide

Acknowledgment

http://spoken-tutorial.org

Spoken Tutorial Project is funded by NMEICT, MHRD, Govt. of India.

For more details, visit this website.

Previous slide This is Trupti Kini from IIT Bombay (or FOSSEE, if you wish) signing off.

Thank you.

Contributors and Content Editors

Nancyvarkey, Trupti