200 likes | 375 Views
Python – reading and writing files. ???. ???two ways to open a file open and file ??? How to write to relative and absolute paths?. To Write a file. #written to C:Users jrwworkspacePython1 file = open( "newfile.txt" , "w" ) file.write ( "Hello World <br>" ) file.close ().
E N D
??? • ???two ways to open a file open and file • ??? How to write to relative and absolute paths?
To Write a file • #written to C:\Users\jrw\workspace\Python1 • file = open("newfile.txt", "w") • file.write("Hello World \n") • file.close()
#written to C:\Users\jrw\workspace\Python1 • file = open("newfile2.txt", "w") • file.write("Hello") • file.write("World") • file.close() • #writes HelloWorld • Note: you need to include “\n” for newline.
“””triple quotes””” • file = open("newfile3.txt", "w") • file.write(""" • Hello • Again""") • file.close() • #will write the following • Hello • Again
What does this write? • #written to C:\Users\jrw\workspace\Python1 • file = open("newfile4.txt", "w") • file.write("Hello") • file.close() • file = open("newfile4.txt", "w") • file.write("Again") • file.close()
What does this write? • #written to C:\Users\jrw\workspace\Python1 • file = open("newfile5.txt", "w") • file.write("Hello") • file.write("Again") • file.close()
Printing to a file • file = open("newfile5.txt", "w") • print >> file, "START OF FILE" • print >> file, "END OF FILE" • del file • #this will print directly to a file • #del file deletes the file object and allows contents to be written to file.
Appending a File • with open("test.txt", "a") asmyfile: • myfile.write("appended text")
Reading a line of a File • input1 = file("newfile5.txt", "r") • printinput1.readline() • printinput1.readline() • #this will also read the “\n” at the end of line
Read a file • input1 = file("newfile5.txt", "r") • printinput1.read() • #this will read the remainder of a file
Reads a file into a list • with open("newfile5.txt") as f: • contents = f.readlines() • for content in contents: • print content • ??? Read a file into an array. • ??? Number of lines in a file
Iterate through a file (line by line) • input1 = file("newfile5.txt", "r") • for line ininput1.readlines(): • printstr(len(line)) + " " + line • #adds the length of a line to the start of each line
File Exceptions • A file or directory (path) does not exist. • You do not have read/write permissions • Disk error • try: • fh = open("output/testfile1.txt", "w") • fh.write("This is my test file for exception handling!!") • exceptIOError: • print"Error: can\'t find file or read data" • else: • print"Written content in the file successfully" • fh.close()
Enter A Number • whileTrue: • try: • x = int(raw_input("Please enter a number: ")) • break • exceptValueError: • print"Oops! That was no valid number. Try again" • print"you entered" + str(x)
Path - join • importos.path • filePath = os.path.join("output", "file1.txt") • #output\file1.txt • fh = open(filePath , "w") • fh.write("in file output\file1.txt on Windows machine")
Path - split • importos.path • filePath = os.path.split("output/file1.txt") • (pathName, fileName) = filePath • printpathName# output • printfileName# file1.txt
Path – split recursively • importos.path • defsplit_fully(path): • parent_path, name = os.path.split(path) • if name == "": • return (parent_path, ) • else: • returnsplit_fully(parent_path) + (name, ) • split_fully("dir1/dir2/file1.txt") • #('', 'dir1', 'dir2', 'file1.txt')
Splitting file extensions • importos.path • printos.path.splitext("file.txt") • #('file', '.txt')
If a path exists • printos.path.exists("C:\Users\jrw\file.txt") • #returns true or false