Can You Compute?
  • HOME
    • Yr 6
    • Revision
    • Class of 2017
    • COVER LESSON FB
    • Yr 10: Program of Study 2016
    • Yr 11:Coming soon
    • Student Showcase
  • KS3
    • Term 6: Databases
    • Term 5 Scratch
    • Term 4 Websites
    • Term 3 Spreadsheets
    • Term 2: Binary & Algorithms
    • Term 1: Basics and Hardware
  • J277/01 NEW
    • EPIC FAILS
    • Intro Lessons
    • 1.1 System Architecture >
      • 1.1.1: The CPU
      • 1.1.1: Parts of the CPU
      • 1.1.2: The CPU in action
      • CPU Recap Lesson
      • Little Man Computer
      • 1.1.3: Embedded Systems
      • RISC & CISC
      • End of Unit Exam
    • 1.2 Memory and Storage >
      • 1.2.1: Primary Storage (Memory)
      • Intro to Units of Memory
      • 1.2.2 Secondary Storage
      • How stuff works
    • 1.2.3 Units & Data Capacity
    • 1.2.4 Data Storage >
      • 1.2.4 Binary Conversion
      • 1.2.4 Binary Addition
      • L4: Hexadecimal
      • L5: Recap
      • L6: Characters
      • L7: Images
      • L8: SenseHAT images
      • L9: Sound & Sampling
      • L10: Code Sound
      • L11: Compression Part 1
      • L12: Compression Part 2 >
        • Compression
      • What do you know?
  • J276/02 old
    • Unit 2 Overview
    • 2.1 Algorithms >
      • L1: Intro to Algorithms
      • L2: The Knight's Tour
      • L3: Bresenham
      • L4: Searching Algorithms
      • L5: Bubble Sort
      • L6: Insertion Sort
      • L7: Merge
      • L8: Sorting Recap
      • L9: Creating Algorithms
      • L10: Pseudocode
      • L11: Interpreting Algorithms
      • L12: End of Unit Test
    • 2.2 Programming Techniques >
      • Coding Intro
      • L1: Programming Concepts
      • L2: Sequence, Selection & Iteration
      • L3: SSI Practice
      • L4: String Manipulation
      • L5: Secret Codes
      • L6: File Handling
      • L7: Use of records to store data
      • L8: SQL
      • L9: SQL Python
      • L10 ,11, 12: Arrays
      • L13: Functions
      • L14: Data Types
      • L15: Casting
      • L16 -17: Test and Code
    • 2.3 Robust Programs >
      • L1 : Defensive Design
      • L2 : Testing Programs
    • 2.4 Computational Logic >
      • L1: Comp. Logic 1
      • L2: Comp. Logic 2
      • L3: Operators (Python)
    • 2.5 Translators & Language >
      • L1: Types of Languages
      • L2: Translators
  • Yr 9
    • Year End Examination
    • iMedia 5: Comics
    • iMedia 4: School Brochure
    • iMedia 3: Presentations
    • iMedia 2: Review and Mail Merge
    • iMedia 1: IT Letter Writing
    • L10: Intro to iMedia
    • L9 Building a Computer
    • L8: Buying a House
    • L7: Logic Gates
    • L6: Binary
    • L5: CS Alan Turing
    • L4: Spreadsheets
    • L3: JS in an Hour!
    • L2: Intro to Coding
    • L1: CS Compression
  • Py
    • Coding Concepts
    • Writing your first Program
    • Python Pages
    • Python Playground
    • Strings
    • Python Operators
    • Functions
    • Conditions
    • Try and Except
    • Break and Continue
    • Odd codes
  • Py +
    • Looping
    • Why does my code not work?
    • Errors
    • Validation
    • Lists
    • Lists again
    • Looking for data in String
    • Writing to Files
    • Read, Write & Sorting Data
  • CODING
    • Magic Python
    • Alan Turing
    • Brian the Turtle
    • Grade Calculator
    • Nested IF Hotels
    • Vending Machine
    • A Looping Menu
    • For
    • Christmas Coding
    • JS in an Hour!
    • CSS + HTML
    • Medical Claims
    • Hour of Code 2015
  • Contact
    • Dictionaries - coming soon
    • L2:
  • Squid Game
  • Reflectico

WRITING / READING TO FILES

Learners will be able to:
  1. Use Python to write to a text file
  2. Use Python to read from a text file
  3. Adapt the code to select a certain line from the text document

Introduction:
  1. Python can be used to open a text file and write data to the file and then save it.  You can also code it to open a file, read the contents and bring this data back into Python 
  2. The code to open a text file is file = open("test.txt", "w")
  3. Open means open the text file, the next part is the name of the file to open, test.txt and lastly the w means open it in write mode.
  4. Add the data using the line file.write(file_text) where file_text is a variable that holds the data to be added to the text file.
  5. Then you add the data and finally close the text file with file.close()
  6. Look at the example below and add the name Frank to the text file.
Adding More Than One Item:
  1. Pretty awesome! No run the program three times and add three new names.  What happens?
  2. Create a loop to keep the program asking you to add new data, note the +'\n' on line 9, what do you think that does?
  3. Add three new names to the list and check the text file
  4. Talk to another student about how to solve the loop issue.
  5. What does +'\n'do?
A Cleaner Way?
  1. A cleaner way to enter the data may be to create a list and get the user to enter in all the data first, then to open the text file and parse through the list adding each line of data.
  2. Look at the example below, run it and create an algorithm of the process.
Now That I Can Write I Need To Read!
  1. Next trick is to read data back from the text file.
  2. This is similar to the write code except that .read is used
  3. Look at the code below, look at the text file called Grace.
  4. Run the code and enter the Text file name, what does it do?
Read a Single line of Text From a File:
  1. So now you can read from a file but you may only want to read one line.
  2. Look at the code below and run it, what does it do?
  3. Which line is printed out?
  4. In the program, what is the code responsible for printing out one line?
  5. Each of the letters has a 'position' value, the first letter is 0, the second is 1 and so on.  To print the letter you add the number to the print line, for example print line[4:6]
  6. Add this edit in, run the program,  what does it do, which letters are printed?
  7. Use the same skills to print line 4 of the list, the output is "RTH"
Finding the Data That You Want:
  1. Grace Hopper has found some bugs in the programs, again!
  2. Sometimes you may want to find a particular word or phrase. This requires reading all the data and placing it into a variable which can then be split.  Then a loop can be used to check each data entry to see if it matches a required number.
  3. Run the program, what does it do?
  4. Change line 19 to find the code "JDHJFD",
  5. Add a print statement to print the code that it finds
  6. Add a print statement to display a message if the code is not the code Grace is looking for.
  7. Can you adapt the code to find two or more of the errors?
Plenary:
  1. What have you learnt today?
  2. What was challenging?  How did you overcome this?
  3. Ask another student what they have learnt?
  4. What do you want to do next?
Powered by Create your own unique website with customizable templates.
  • HOME
    • Yr 6
    • Revision
    • Class of 2017
    • COVER LESSON FB
    • Yr 10: Program of Study 2016
    • Yr 11:Coming soon
    • Student Showcase
  • KS3
    • Term 6: Databases
    • Term 5 Scratch
    • Term 4 Websites
    • Term 3 Spreadsheets
    • Term 2: Binary & Algorithms
    • Term 1: Basics and Hardware
  • J277/01 NEW
    • EPIC FAILS
    • Intro Lessons
    • 1.1 System Architecture >
      • 1.1.1: The CPU
      • 1.1.1: Parts of the CPU
      • 1.1.2: The CPU in action
      • CPU Recap Lesson
      • Little Man Computer
      • 1.1.3: Embedded Systems
      • RISC & CISC
      • End of Unit Exam
    • 1.2 Memory and Storage >
      • 1.2.1: Primary Storage (Memory)
      • Intro to Units of Memory
      • 1.2.2 Secondary Storage
      • How stuff works
    • 1.2.3 Units & Data Capacity
    • 1.2.4 Data Storage >
      • 1.2.4 Binary Conversion
      • 1.2.4 Binary Addition
      • L4: Hexadecimal
      • L5: Recap
      • L6: Characters
      • L7: Images
      • L8: SenseHAT images
      • L9: Sound & Sampling
      • L10: Code Sound
      • L11: Compression Part 1
      • L12: Compression Part 2 >
        • Compression
      • What do you know?
  • J276/02 old
    • Unit 2 Overview
    • 2.1 Algorithms >
      • L1: Intro to Algorithms
      • L2: The Knight's Tour
      • L3: Bresenham
      • L4: Searching Algorithms
      • L5: Bubble Sort
      • L6: Insertion Sort
      • L7: Merge
      • L8: Sorting Recap
      • L9: Creating Algorithms
      • L10: Pseudocode
      • L11: Interpreting Algorithms
      • L12: End of Unit Test
    • 2.2 Programming Techniques >
      • Coding Intro
      • L1: Programming Concepts
      • L2: Sequence, Selection & Iteration
      • L3: SSI Practice
      • L4: String Manipulation
      • L5: Secret Codes
      • L6: File Handling
      • L7: Use of records to store data
      • L8: SQL
      • L9: SQL Python
      • L10 ,11, 12: Arrays
      • L13: Functions
      • L14: Data Types
      • L15: Casting
      • L16 -17: Test and Code
    • 2.3 Robust Programs >
      • L1 : Defensive Design
      • L2 : Testing Programs
    • 2.4 Computational Logic >
      • L1: Comp. Logic 1
      • L2: Comp. Logic 2
      • L3: Operators (Python)
    • 2.5 Translators & Language >
      • L1: Types of Languages
      • L2: Translators
  • Yr 9
    • Year End Examination
    • iMedia 5: Comics
    • iMedia 4: School Brochure
    • iMedia 3: Presentations
    • iMedia 2: Review and Mail Merge
    • iMedia 1: IT Letter Writing
    • L10: Intro to iMedia
    • L9 Building a Computer
    • L8: Buying a House
    • L7: Logic Gates
    • L6: Binary
    • L5: CS Alan Turing
    • L4: Spreadsheets
    • L3: JS in an Hour!
    • L2: Intro to Coding
    • L1: CS Compression
  • Py
    • Coding Concepts
    • Writing your first Program
    • Python Pages
    • Python Playground
    • Strings
    • Python Operators
    • Functions
    • Conditions
    • Try and Except
    • Break and Continue
    • Odd codes
  • Py +
    • Looping
    • Why does my code not work?
    • Errors
    • Validation
    • Lists
    • Lists again
    • Looking for data in String
    • Writing to Files
    • Read, Write & Sorting Data
  • CODING
    • Magic Python
    • Alan Turing
    • Brian the Turtle
    • Grade Calculator
    • Nested IF Hotels
    • Vending Machine
    • A Looping Menu
    • For
    • Christmas Coding
    • JS in an Hour!
    • CSS + HTML
    • Medical Claims
    • Hour of Code 2015
  • Contact
    • Dictionaries - coming soon
    • L2:
  • Squid Game
  • Reflectico