文件的读写 1.函数open()接受一个参数:要打开的文件名称,并返回一个表示文件的对象 1)文件路径 相对文件路径 绝对文件路径 linux/OS X 文件路径中使用斜杠(/) 如file_path = '/home/filename.txt' Windows 文件路径中使用反斜杠(\) 如file_path = 'C:\Users\filename.txt' 2.关键字with在不再需要访问文件后将其关闭。 3.也可以用open()和close()来打开和关闭文件,但如此做当程序存在bug,close()语句未执行时,文件将不会正常关闭。 4.读取文件 1)方法read()可以读取文件的全部内容,将其作为一个长字符串存储,当read()到达文件末尾是返回一个空字符串,显示出来是一个空行。要删除多出来的空行,可以是使用方法rstrip() 2)逐行读取 可使用for循环,注意这里每行的末尾都有换行符,可以使用方法rstrip()清除 for line in file_object: print(line) 可使用方法readlines(),从文件中读取每一行,并将其存储在一个列表中,在with代码块外仍可使用 lines = file_object.readlines() 5.写入文件 1)写入文件时,调用open()要提供另一个实参,告诉Python你要写入打开的文件,第二个参数说明了打开文件的模式:'w': 写入模式,'r': 读取模式, 'a': 附加模式, 'r+':读取和写入模式 省略模式实参则默认以只读方式打开 ×××特别注意,以写入模式打开文件时,如果指定的文件已经存在,Python将在返回文件对象前清空该文件 with open(filename, 'w') as file_object: file_object.write("Hello World!") 2)添加内容 只想给文件添加内容,而不覆盖原有内容,可以以附加模式打开文件 异常的处理 Python使用被称为异常的特殊对象来管理程序执行期间发生的错误。每当发生错误时,它都会创建一个异常对象,若编写了处理该异常的代码,程序将继续运行,否则程序将停止,并显示一个traceback 其中包含有关异常的报告 1)try-except-else代码块 若try代码块中的代码运行起来没有问题,python将跳过except代码块;否则python将查找except代码块,并进行处理。而依赖于try代码块成功执行的代码都放在else代码块中。 如果出现错误时,对错误不进行任何处理,可使用pass语句,pass还充当了占位符,提醒你程序的某个地方还什么都没做,以后也许要添加些代码 常见异常如: FileNotFoundError, ZeroDivisionError,ValueError 下面是练习用的两个文件操作和异常处理的小程序
# title = "Alice in Wonderland" # print(title.split()) 方法split()将以空格为分隔符将字符串拆分成多个部分,并存储于一个列表中
def count_words(filename): ''' count how many words in a text file ''' try: with open(filename) as f_obj: contents = f_obj.read() except FileNotFoundError: pass #msg = "Sorry, the file " + filename + " does not exist." #print(msg) else: words = contents.split() print("The file " + filename + " has about " + str(len(words)) + " words.")
def addTwoNumber(): ''' add two numbers. ''' first_number = input("First Number: ") second_number = input("Second Number: ") try: first_number = int(first_number) second_number = int(second_number) except ValueError: print("Please check if your input is legal.") return False else: res = first_number + second_number print(str(first_number)+" + "+str(second_number)+" is "+str(res)) return True |