python/文件操作:
1.打开文件
1
2
3
|
使用 open () 文件句柄 = open ( ‘文件路径‘ , ‘模式‘ ) |
2.文件操作
1
|
打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作。 |
打开文件的模式有:
r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】 w,只写模式【不可读;不存在则创建;存在则清空内容】 x, 只写模式【不可读;不存在则创建,存在则报错】 a, 追加模式【可读; 不存在则创建;存在则只追加内容】 "+" 表示可以同时读写某个文件 r+, 读写【可读,可写】 w+,写读【可读,可写】 x+ ,写读【可读,可写】 a+, 写读【可读,可写】 "b"表示以字节的方式操作 rb 或 r+b wb 或 w+b xb 或 w+b ab 或 a+b 注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码 3.关闭文件 使用close() 补充:with语句自带使用close()方法, 这也是为了防止打开文件忘记关闭 比如: with open() as f_read:#打开文件 是不需要添加close()的。
二.文件操作
1.read 文件名.read(n):读取指定个数的字符,文件从光标位置开始 注意:python3版本读取的是字符 python2版本读取的是字节 在读取完第一次字符时,第二次读取从上次读取完的字符开始 比如:
f.readline 读取一行,光标到下一行行首 f.readlines 显示列表结果,每一个元素是一行内容 行与字符串的拼接 使用join用法 文件名.join([文件名,“需要添加的字符串”]) 循环整个文件,并在一行中拼接使用for循环 2.write f =open(name,mode=w) 修改文件可读权限 文件名.write("") 覆盖文件信息 文件名.write("\n") 换行 f =open(name,mode="a")追加信息,原来文件信息不变 f =open(name,mode="x")原有的文件不覆盖,会报错;没有的文件重新创建 f=write("")把内容添加到内存,在一定时间内显示出来 f.writelines(["11\n","22\n"])写多行 f.truncate() 截断 只能在写权限操作
3.可读可写模式:
f = open("test",mode="r",encoding="utf8") data = f.read(5) data2 = f.read(6) print(data) print(data2) 得到的答案是 globa l
r+ 追加写 默认光标在开始位置 w+ 首先会覆盖,清空,然后再写,seek调整 a+ 总是在最后位置添加。光标在文件最后位置 无论光标在什么位置,一定是追加写: 想读取内容:seek调增 4.flush操作 f=flush("") 直接显示,内容直接存储在硬盘上 比如: 进度条操作
sys.stdout.write("")相当于print sys.stdout 文件 循环打印# import sys for i in range(10): sys.stdout.write("#") sys.stdout.flush() import time time.sleep(0.5)
显示百分比 import sys for i in range(6): s = "\r%s%% %s"%(i,"?"*i) sys.stdout.write(s) sys.stdout.flush() import time time.sleep(0.5)