美文网首页
Python.IO之简易的文件操作

Python.IO之简易的文件操作

作者: NataliaTsunako | 来源:发表于2017-07-11 21:24 被阅读0次

    IO 文件读取

    '''
    打开文件(读取)练习。#尤其要注意编码
    '''

    file = open('reame.txt','r',encoding = 'utf-8')
    a = file.read()
    
    print(a)
    file.close()
    

    '''
    r+是r模式的拓展,既包括读也包括写,用r+模式打开文件。
    可以在读取以后在用write进行追加书写内容。
    如果只是用r模式读取,再使用write会出错。
    r+模式如果读取不存在的文件会出错,也不会直接创建文件。
    '''

    file2 = open('reame.txt','r+',encoding = 'utf-8')
    a2 = file2.read()
    file2.write('read+')
    print(a2)
    file.close()
    
    #IO,w练习
    file = open('reame.txt','w',encoding = 'utf-8')
    #定义一个变量为打开路径里名字为reame.txt文件,w模式,编码模式为utf-8
    file.write('233')
    #写入字符串233
    file.close()
    print('='*25)
    

    IO,w+练习

    '''
    w模式下是无法使用read方法的,w+模式可以,与r+情况类似。
    '''

    filew = open('reame.txt','w+',encoding = 'utf-8')
    #定义一个变量为打开路径里名字为reame.txt文件,w+模式,编码模式为utf-8
    filew.write('write+')#写入字符串
    filew.seek(0)#指针调整到第0字节开始。
    print(filew.read())#读取该文件
    filew.close()
    print('='*25)
    

    IO,a练习

    a模式,即是append,意思是追加。

    app = open('reame.txt','a',encoding = 'utf-8')
    #定义一个变量为打开路径里名字为reame.txt文件,a模式,编码模式为utf-8
    app.write('\n666a')
    #写入换行符字符串666
    
    
    app.close()
    print('='*25)
    

    IO,a+练习

    a+模式,即是append,意思是追加。

    '''
    与W+模式不同的是,如果文件内容本存在,输入指针会跳到内容末尾。
    最重要的是append模式不会出现文件覆盖的情况
    '''

    app = open('reame.txt','a+',encoding = 'utf-8')
    #定义一个变量为打开路径里名字为reame.txt文件,a+模式,编码模式为utf-8
    app.write('\nappend+')
    #写入换行符字符串append+
    app.seek(0)#指针调整到第0字节开始。
    a = app.read()
    print(a)
    app.close()
    print('='*25)
    

    IO,进阶的一些运用

    '''
    文件内容的拷贝
    '''

    #先用r模式读取一个文件的内容
    file = open('reame.txt','r',encoding = 'utf-8')
    content = file.read()#读取文件内容到内存并用变量指向它
    print(content)#打印内存中的内容
    print('='*25)
    file2 = open('reame2.txt','w+',encoding = 'utf-8')#用w+模式创建新文件
    content2 = file2.write(content)#写入之前的内容
    file2.seek(0)#调整指针位置
    print('='*25)
    print(file2.read())#打印新文本的内容
    file.close()
    

    '''
    rb和wb模式的一些应用,复制图片
    因为非文本文件,通常是以二进制进行保存的,通常的模式并不合适。
    '''

    #先用rb模式读取一个图片的内容
    pain = open('HKfb5WV.png','rb')#注意这里不需要写入解码方式,保留二进制,否则出错
    temp = pain.read()#读取图片,并赋值到一个变量上
    painw = open('HKfb5WV2.png','wb')#用wb模式读取该图片,由于该文件本没有,所以会创建
    temp2 = painw.write(temp)#写入图片内容
    pain.close()
    print('='*25)
    

    '''
    用rb模式读取文字的二进制编码
    '''

    filerb = open('文字.txt','rb')#用rb模式读取utf-8编码的汉字,得到其文字的二进制编码
    temprb = filerb.read()#赋值到一个变量上
    print (temprb)#将其打印出来
    filerb.close()
    # '''
    # 打印出来的效果
    # b'\xe9\x98\xbf\xe9\x98\xae\xe7\x9a\x84\xe7\x8c\xaa\xe7\xaa\x81\xe7\x8c\x9b\xe8\x
    # bf\x9b\xef\xbc\x88\xe4\xb8\x80\xe5\xbe\x80\xe6\x97\xa0\xe5\x89\x8d\xef\xbc\x89'
    # '''
    filewb = open('文字2.txt','wb')#用wb模式
    tempde = temprb.decode('utf-8')#将以上那段二进制代码解码成utf-8
    
    print (tempde)#将其解码结果打印出来
    filewb.close()
    

    相关文章

      网友评论

          本文标题:Python.IO之简易的文件操作

          本文链接:https://www.haomeiwen.com/subject/awtvhxtx.html