标签:添加 可变 操作 三元 tab 返回值 导致 **kwargs 功能
一,文件的打开模式
r 只写模式(默认)
r+ 以读写的方式打开文件
w 只写模式(不可读,先删除原有的文件内容,再重新写入新的内容,如果文件不存在,则创建一个新的文件)
w+ 写读模式(不可读,先删除原有的文件内容,再重新写入新的内容,如果文件不存在,则创建一个新的文件)
a 追加模式(只能追加,以写入的方式打开文件,在文件的末尾追加新的内容,如果文件不存在,则创建一个新的文件)
a+ 以读写的方式打开文件,在文件的末尾追加新的内容,如果文件不存在,则创建一个新的文件
b 以二进制模式打开文件,可与r,w,a,+结合使用
U 支持所有的换行符号,“\r”,"\n","\r\n"都表示换行
参数
f = open("aa",mode="r",encoding="utf-8")
#定义名 = open("文件名","模式",指定打开字符集方式)
f.name #查看db文件名
f.tell() 显示文件中,当前 光标位置
f.read() 读全部 (read是读字符 其他都是字节),f.read(5)读取5个字符
f.readline() 读一行 读取成列表形式
f.wirte() 写入
f.close() 关闭
f.seek(10) 移动10个字节 #f.seek(0,2)光标移动到最后操作 (对字节操作,utf-8中,汉字代表3个字节
f.encoding 查看字符编码
f.writable() 是否以写模式打开, #True为真 False为假
f.readable() 是否以读模式打开, #True为真 False为假
f.flush() 强制刷新到硬盘 #一般用于打印实时日志,基本不用,会导致硬盘速度变慢
新建一个文件:
open 打开文件
mode 显示文件的打开模式,默认是r
windows默认编码是gbk,所以需要转换成utf-8
read一次性读完文件里的所有内容
文件的修改的方式
读取aa和bb文件 with open("aa","r",encoding="utf-8") as f_aa, open("bb") as f_bb: print(f_aa.read()) print(f_bb.read()) 读取aa文件写入到bb with open("aa","r",encoding="utf-8") as f_aa, open("bb","w",encoding="utf-8") as f_bb: tow_f=f_aa.read() f_bb.write(tow_f) 读取aa文件追加到bb with open("aa","r",encoding="utf-8") as f_aa, open("bb","a",encoding="utf-8") as f_bb: tow_f=f_aa.read() f_bb.write(tow_f)
#db文件格式 #aa #bb #cc #读取db文件生成列表 goods =[] for gn in open("goods","rt",encoding="utf-8"): goods.extend(gn.strip().split()) price =[] for en in open("price","rt",encoding="utf-8"): price.extend(en.strip().split()) print(price) #2个列表合并成字典 shop=dict(zip(goods,price)) print(shop) #字典转成列表的子集添加n个字典 test = [] for k, v in shop.items(): test.append({"name": k, "m": v}) print(test)
f2 = open(‘product‘, ‘r‘, encoding=‘utf-8‘) product_data = f2.read() f2.close() v = product_data.split(‘\n‘) print(v) # 将列表转换成字典 lin = [] for i in v: v1 = i.split(‘:‘) print(v1) v1[1] = int(v1[1]) dic = {v1[0]:v1[1]} lin.append(dic) print(lin)
cuisor读取光标地址, read读取文件全部内容, seek 把光标移动到某个字节后面 f.seek(10) 代表移动10个字节(utf-8中,汉字代表3个字节) 创建文件lyric,填写内容如下 123456testABCDE my name is guolm python执行命令: >>>f = open("lyric","r",encoding="utf-8") #encoding 指定读取文件类型的格式 >>>print(‘cuisor:‘,f.tell()) #f.tell()显示当前文件内光标位置, cuisor: 0 >>>print(f.read()) #读取f变量中全部内容, 如果是print(f.readline()) 读取一行内容 123456testABCDE my name is guolm >>>print("--------------------------------------") >>>print(‘cuisor:‘,f.tell()) #f.tell()再次执行,28是当前光标所在字符位置 cuisor: 33 >>>print(f.read()) #上次执行read()读取全部,本次读取文件从最后执行,所有没内容 >>>print("--------------------------------------") >>>f.seek(10) #f.seek(10) 代表移动10个字节后面, f.seek(0)移动到开头 (utf-8中,汉字代表3个字节) >>>print("cursor:",f.tell()) #因为上边操作,光标从10字节之后,执行命令 cursor: 10 >>>print(f.read(5)) #读取5字符 注:汉字代表一个字符,每行的结尾(\n)也代表一个字符 ABCDE >>>f.close() #文件结束
函数
在python中函数分为两种:
内置函数:内置函数都会带返回值
自定义函数:def定义函数关键字,任何形式都可以,先定义后使用
标签:添加 可变 操作 三元 tab 返回值 导致 **kwargs 功能
原文地址:http://www.cnblogs.com/gongxu/p/6858839.html