zoukankan      html  css  js  c++  java
  • 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

     好了 今天就到这里了,若有错误请留言:)

         

  • 相关阅读:
    Win7 on VirtualBox 看不到 usb device
    framebuffer line_length 參數
    booting logo & booting animation
    charing animation
    vim
    [筆記] Ubuntu Linux 使用 apt-get 指令移除軟體並清理遺留的垃圾
    git 指令
    adb devices 偵測不到 手機
    apt-get 相關設定
    Ubuntu 14 設定 遠端連線,讓別台電腦可以連線進來
  • 原文地址:https://www.cnblogs.com/GaryNie/p/8584847.html
Copyright © 2011-2022 走看看