【有书共读11】零压力学Python读书笔记08
第11章:操作文件
介绍文件操作之前我们先来简单看一下os(系统模块)
# os模块 import os # 导入os模块----python的标准库,无需安装 # os.listdir() 以列表的形式返回指定目录下的所有文件(文件夹) print(os.listdir('../')) # 列出当前路径的上一层路径的所有文件 # os.mkdir(path) 创建目录 os.mkdir('text') # 如果目录存在则创建失败,会报错 # os.chdir() 切换到指定目录,接受一个字符串路径 os.chdir('text') # 如果目录不存在 则报错 print(os.curdir) # 打印当前的工作(相对)路径 # os.getcwd() 以字符串的形式返回当前的工作路径(绝对) print(os.getcwd()) # os.system() 运行shell命令 字符串参数 os.system('notepad') # 打开记事本
文件操作
""" 文件读写主要分三步: 打开文件 open(file, mode='r') 返回一个文件对象 其实 open 的参数有很多,这里面就选择常用的两个吧 关于mode 'r' open for reading (default) 'w' open for writing, truncating the file first 'x' create a new file and open it for writing 'a' open for writing, appending to the end of the file if it exists 'b' binary mode 't' text mode (default) '+' open a disk file for updating (reading and writing) 'U' universal newline mode (deprecated) 操作文件 读 read()读取全部(包括换行符),返回一个字符串 readline()读取一行 返回一个字符串 readlines() 读取全部,返回一个列表,列表元素是每一行的数据 写 write() 将数据原样写入 如果写入后需要换行,建议在写入的数据后面加入换行符 关闭文件 close() 关闭文件,文件打开后,一定要关闭 """ f = open('a.txt') # 如果不写mode 则默认为'r' 只读打开 s = f.read() # 读取全部内容 f.close() # 关闭文件 # python中还可以使用with 方法,这样可以避免忘记关闭文件 方法使用如下 with open('a.txt', 'a') as f: f.writelines('ccc') f.writelines('bb') f.writelines('a')
异常处理
""" 异常处理: 在文件操作时,我们可以经常会遇到文件不存在, 目录不存在等而导致的各种情况导致程序异常终止。 但很多时候我们希望,即使程序出现异常,依然能够完成其它的操作 这个时候我们就需要用到异常处理 try: 语句 except: 语句 我们来看一下例子 """ try: f = open('not_exist.txt') print('文件打开成功') except: print('文件打开失败') # 对于上面的程序,执行时,并不会报错,而是打印出了 文件打开失败 # 这样即使文件打开失败,我们依然可以执行下面的语句,不会退出 # 因为程序的异常有很多种类,所以我们也可以捕捉特定的异常 try: m = 6 / 0 except ZeroDivisionError as e: # 这里只捕捉被0除的异常,其它的异常并不能捕捉到 print(e.args) # 打印异常的详细信息 # 这里其实是还可以写多个except 但是注意上面的写的异常不能包含了下面的异常,否则,也是捕捉不到的 try: m = 6 / 0 except Exception as e: # 这里面虽然是ZeroDivisionError的异常,但是Exception是所有异常的基类,所以捕获不到下面的异常 print('Exception') except ZeroDivisionError as ze: print('ZeroDivisionError') # try--except--finally try: m = 0 / 0 except Exception as e: print(e.args) finally: print('无论如何都要执行我') # finally的语句都要执行,一般用的不多,但是我们可以用它来关闭文件 这样就不会因为程序异常退出而没有关闭文件
不知道为什么代码提交上去排版很乱,冒号后面不知道换行,所以特意截了图,应该好看一点
#笔记##读书笔记##Python#