对文件操做流程python
打开文件的模式有:linux
"+" 表示能够同时读写某个文件windows
"U"表示在读取时,能够将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)this
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)编码
#author wangzhaoyang #f= open('test','r',encoding=('utf-8')) # r,w,a,r+.w+,a+ #f.read() #一次性读取全部 f= open('test1','a',encoding=('utf-8')) # r,w,a,r+.w+,a+ f.write(" \nthis is test") # f.close()
循环字典spa
set_test = {"stu001":"wangzhaoyang","stu002":"ligang"} for key in set_test: print(key,set_test[key]) for k,v in set_test.items(): print(k,v)
经常使用操做指针
f= open('test1','a',encoding=('utf-8')) # r,w,a,r+.w+,a+(追加读) f.write(" \nthis is test") #写f.read() 读所有 f.close() #关闭文件 f.readlines()# 列表,一次性所有读到内存中 f.readline() # 一行一行的读,可是会把文件先读到到内存中 for line in f: ###一行一行的读,效率最高,最经常使用的 print(line) print(f.tell()) ##打印指针位置 f.seek(0) ##将文件指针移动到指定位置 print(f.encoding) ##打印文件编码 print(f.name) #打印文件,名字 f.flush() #将文件刷新到硬盘上,强制刷到硬盘上 f.truncate(10) #截断,截取十个字符
进度条code
import sys,time for i in range(50): sys.stdout.write("#") sys.stdout.flush() time.sleep(0.2)
文件替换,打开两个文件blog
f = open("test","r",encoding=("utf-8")) f_new=open("test1","w",encoding=("utf-8")) for line in f: if "毁灭性的的那种" in line: line=line.replace("毁灭性的的那种","wangzhaoyang123") f_new.write(line) f.close() f_new.close()
with语句内存
为了不打开文件后忘记关闭,能够经过管理上下文,即:
1
2
3
|
with
open
(
'log'
,
'r'
) as f:
...
|
如此方式,当with代码块执行完毕时,内部会自动关闭并释放文件资源。
在Python 2.7 后,with又支持同时对多个文件的上下文进行管理,即:
1
2
|
with
open
(
'log1'
) as obj1,
open
(
'log2'
) as obj2:
pass
|