Python进阶之二
今天进阶的知识就是在实际操作中比较常用的知识——文件操作
1.文件的读写
假设有问价1.txt 内容为:hello Gary Nie
#r+:又读又写(已读为主),不会清空内容 ; w+:又读又写(以写为主)会清空内容
#w:写入,并且清空文件原内容;a:追加内容,保留源文件
#x:独占模式,文件只能在一个程序里打开 filename=open("1.txt","w") filename.close() #结果就是文件内容被清空 filename1=open("1.txt","a") filename.write("Hao are you!") filename1.close() #结果就是文件内容后面加上括号内容
下面写一个二进制读写的例子
datas=[{"bookName":"deep learning","price":58},{"bookName":"maching learning","price":58}] dat=open("book.txt","wb") #wb是以二进制的方式写入 dat.write(bytes([len(datas)])) #bytes是转换二进制 for i in datas: dat.write(bytes([len(i["bookName"])])) dat.write(bytes(i["bookName"],"ascii")) #把字符串换成ASCII字符吗 dat.write(bytes([i["price"]])) print("二进制写入完成") dat.close() data=[] f=open("book.txt","rb") n=int(f.read(1)[0]) #读取一个字节里面的第一位 for i in range(0,n): name_len=int(f.read(1)[0]) name=f.read(name_len).decode("ascii") #decode(“asciii”)是把二进制转换成ascii码 age=int(f.read(1)[0]) data.append({"bookName":name,"price":age})
print(data)
f.close() #每一次打开文件操作 ,记得把它关上哦
#还有另一种关于二进制的转换,请参考http://www.cnblogs.com/GaryNie/p/8358956.html
好了 今天就到这里了,若有错误请留言:)