File I/O Ruth Anderson UW CSE 160 Spring 2015 1. File Input and Output As a programmer, when would one use a file? As a programmer, what does one do with.

Slides:



Advertisements
Similar presentations
While loops.
Advertisements

Introduction to Computing Using Python File I/O  File Input/Output  read(), readline(), readlines()  Writing to a file.
Computer Science 111 Fundamentals of Programming I Files.
January 13, Csci 2111: Data and File Structures Week1, Lecture 2 Basic File Processing Operations.
Last Week Looping though lists Looping using range While loops.
Why use Files? Your Python Program External File (secondary storage) Write to file (Save) Read from file (Load) …so we can have access to ‘stored’ data.
Files CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Lists Introduction to Computing Science and Programming I.
CS 0008 Day 2 1. Today Hardware and Software How computers store data How a program works Operators, types, input Print function Running the debugger.
V-1 University of Washington Computer Programming I File Input/Output © 2000 UW CSE.
CS0007: Introduction to Computer Programming File IO and Recursion.
Python Mini-Course University of Oklahoma Department of Psychology Lesson 17 Reading and Writing Files 5/10/09 Python Mini-Course: Lesson 17 1.
Lecture 06 – Reading and Writing Text Files.  At the end of this lecture, students should be able to:  Read text files  Write text files  Example.
File I/O Static void Main( ) {... } data. Topics I/O Streams Reading and Writing Text Files Formatting Text Files Handling Stream Errors File Pointers.
Chapter 9 1 Chapter 9 – Part 1 l Overview of Streams and File I/O l Text File I/O l Binary File I/O l File Objects and File Names Streams and File I/O.
More on Functions; Some File I/O UW CSE 190p Summer 2012.
Lecture 8 February 29, Topics Questions about Exercise 4, due Thursday? Object Based Programming (Chapter 8) –Basic Principles –Methods –Fields.
File I/O Michael Ernst UW CSE 140 Winter File Input and Output As a programmer, when would one use a file? As a programmer, what does one do with.
5 1 Data Files CGI/Perl Programming By Diane Zak.
CS2021 Week 2 Off and Running with Python. Two ways to run Python The Python interpreter – You type one expression at a time – The interpreter evaluates.
Chapter 5 Files and Exceptions I. "The Practice of Computing Using Python", Punch & Enbody, Copyright © 2013 Pearson Education, Inc. What is a file? A.
Python – reading and writing files. ??? ???two ways to open a file open and file ??? How to write to relative and absolute paths?
Guide to Programming with Python Chapter Seven Files and Exceptions: The Trivia Challenge Game.
16. Python Files I/O Printing to the Screen: The simplest way to produce output is using the print statement where you can pass zero or more expressions,
Last Week Lists List methods Nested Lists Looping through lists using for loops.
FILES. open() The open() function takes a filename and path as input and returns a file object. file object = open(file_name [, access_mode][, buffering])
File input and output and conditionals Genome 559: Introduction to Statistical and Computational Genomics Prof. James H. Thomas.
File I/O Ruth Anderson UW CSE 140 Winter File Input and Output As a programmer, when would one use a file? As a programmer, what does one do with.
Python focus – files The open keyword returns a file object Opening a file myFile = open('C:\file.txt', arg) Optional argument The second argument controls.
Python: File Directories What is a directory? A hierarchical file system that contains folders and files. Directory (root folder) Sub-directory (folder.
FILES AND EXCEPTIONS Topics Introduction to File Input and Output Using Loops to Process Files Processing Records Exceptions.
OCR Computing GCSE © Hodder Education 2013 Slide 1 OCR GCSE Computing Python programming 10: Files.
FILE I/O: Low-level 1. The Big Picture 2 Low-Level, cont. Some files are mixed format that are not readable by high- level functions such as xlsread()
File I/O. I/O Flags Flags are passed to give some information about how the file is to be used. – Read only file – flag=0x0 – Write only file – flag=0x1.
Programming with ANSI C ++
Topic: File Input/Output (I/O)
Prof: Dr. Shu-Ching Chen TA: Samira Pouyanfar Spring 2017
File I/O File input/output Iterate through a file using for
CSC 131: Introduction to Computer Science
Taken from notes by Dr. Neil Moore & Dr. Debby Keen
(optional - but then again, all of these are optional)‏
What is a File? A file is a collection on information, usually stored on a computer’s disk. Information can be saved to files and then later reused.
Computer Organization & Assembly Language Chapter 3
Managing results files
Ruth Anderson UW CSE 160 Winter 2016
Exceptions and files Taken from notes by Dr. Neil Moore
Ruth Anderson UW CSE 160 Winter 2017
Ruth Anderson UW CSE 160 Spring 2018
Topics Introduction to File Input and Output
File IO and Strings CIS 40 – Introduction to Programming in Python
Using files Taken from notes by Dr. Neil Moore
Fundamentals of Programming I Files
File I/O File input/output Iterate through a file using for
File Handling.
Exceptions and files Taken from notes by Dr. Neil Moore
CISC101 Reminders Quiz 2 graded. Assn 2 sample solution is posted.
File I/O File input/output Iterate through a file using for
Last Class We Covered Escape sequences File I/O Uses a backslash (\)
Rocky K. C. Chang 30 October 2018 (Based on Zelle and Dierbach)
CMSC201 Computer Science I for Majors Lecture 13 – File I/O
15-110: Principles of Computing
Topics Introduction to File Input and Output
Winter 2019 CISC101 4/29/2019 CISC101 Reminders
Bryan Burlingame 17 April 2019
Introduction to Computer Science
Topics Introduction to File Input and Output
File Handling.
Introduction to Computer Science
Presentation transcript:

File I/O Ruth Anderson UW CSE 160 Spring

File Input and Output As a programmer, when would one use a file? As a programmer, what does one do with a file? 2

Files store information when a program is not running Important operations: open a file close a file read data write data 3

Files and filenames A file object represents data on your disk drive – Can read from it and write to it A filename (usually a string) states where to find the data on your disk drive – Can be used to find/create a file – Examples: Linux/Mac: "/home/rea/class/160/lectures/file_io.pptx" Windows: "C:\Users\rea\My Documents\cute_dog.jpg" Linux/Mac: "homework3/images/Husky.png" "Husky.png" 4

Two types of filenames An Absolute filename gives a specific location on disk: "/home/rea/class/160/15sp/lectures/file_io.pptx" or "C:\Users\rea\My Documents\homework3\images\Husky.png" – Starts with “/” (Unix) or “C:\” (Windows) – Warning: code will fail to find the file if you move/rename files or run your program on a different computer A Relative filename gives a location relative to the current working directory: "lectures/file_io.pptx" or " images\Husky.png" – Warning: code will fail to find the file unless you run your program from a directory that contains the given contents A relative filename is usually a better choice 5

Examples Linux/Mac: These could all refer to the same file: "/home/rea/class/160/homework3/images/Husky.png" "homework3/images/Husky.png" "images/Husky.png" "Husky.png“ Windows: These could all refer to the same file: "C:\Users\rea\My Documents\class\160\homework3\images\Husky.png" "homework3\images\Husky.png" "images\Husky.png" "Husky.png" 6

“Current Working Directory” in Python The directory from which you ran Python To determine it from a Python program: >>> import os # "os" stands for "operating system" >>> os.getcwd() '/Users/johndoe/Documents' Can be the source of confusion: where are my files? 7

Opening a file in python To open a file for reading: # Open takes a filename and returns a file object. # This fails if the file cannot be found & opened. myfile = open("datafile.dat") Or equivalently: myfile = open("datafile.dat", "r") To open a file for writing: # Will create datafile.dat if it does not already # exist, if datafile.dat already exists, then it # will be OVERWRITTEN myfile = open("datafile.dat", "w") # If datafile.dat already exists, then we will # append what we write to the end of that file myfile = open("datafile.dat", "a") 8 By default, file is opened for reading

Reading a file in python # Open takes a filename and returns a file object. # This fails if the file cannot be found & opened. myfile = open("datafile.dat") # Approach 1: Process one line at a time for line_of_text in myfile: … process line_of_text # Approach 2: Process entire file at once all_data_as_a_big_string = myfile.read() myfile.close() # close the file when done reading Assumption: file is a sequence of lines Where does Python expect to find this file (note the relative pathname)? 9

Simple Reading a file Example # Reads in file one line at a time and # prints the contents of the file. in_file = "student_info.txt" myfile = open(in_file) for line_of_text in myfile: print line_of_text myfile.close() 10

Reading a file Example # Count the number of words in a text file in_file = "thesis.txt" myfile = open(in_file) num_words = 0 for line_of_text in myfile: word_list = line_of_text.split() num_words += len(word_list) myfile.close() print "Total words in file: ", num_words 11

Reading a file multiple times You can iterate over a list as many times as you like: mylist = [ 3, 1, 4, 1, 5, 9 ] for elt in mylist: … process elt for elt in mylist: … process elt Iterating over a file uses it up: myfile = open("datafile.dat") for line_of_text in myfile: … process line_of_text for line_of_text in myfile: … process line_of_text How to read a file multiple times? Solution 1: Read into a list, then iterate over it myfile = open("datafile.dat") mylines = [] for line_of_text in myfile: mylines.append(line_of_text) for line_of_text in mylines: … process line_of_text for line_of_text in mylines: … process line_of_text Solution 2: Re-create the file object (slower, but a better choice if the file does not fit in memory) myfile = open("datafile.dat") for line_of_text in myfile: … process line_of_text myfile = open("datafile.dat") for line_of_text in myfile: … process line_of_text 12 This loop body will never be executed!

Writing to a file in python # Replaces any existing file of this name myfile = open("output.dat", "w") # Just like print ing output myfile.write("a bunch of data") myfile.write("a line of text\n") myfile.write(4) myfile.write(str(4)) myfile.close() open for Writing (no argument, or "r", for Reading) “\n” means end of line (Newline) Wrong; results in: TypeError: expected a character buffer object Right. Argument must be a string 13 close when done with all writing