2、文件的几种操作方式: r(只读).w(只写).a(追加)

2、文件的几种操作方式:  r(只读).w(只写).a(追加)                 

        凡是带b的不用encoding

        只有是r模式,mode='r'可以忽略不写

        读模式:

                 *r 只读

                         read

                         read(n)

                         readline

                         readlines

                         for循环  最好的

                

                 rb  bytes模式只读

                 *r+   读写

                 r+b bytes模式读写

       

        写模式:

                 *w   只写

                         1、没有文件创建文件写内容。

                         2、如果有文件,清空源文件,写入新内容

                 wb   bytes模式只写

                 w+   写读

                 w+b bytes模式写读

       

        追加模式:

                 *a

                         1、没有文件创建文件写内容。

                         2、有文件则在最后面追加新内容

                 ab

                 a+

                 a+b

                 补充:

                         gbk,utf-8

                         s1 = '123abc*'

                         b1 = s1.encode('utf-8')

                         b2 = b1.decode('gbk')

                         print(b2)   #结果:123abc*

                        

                         收看葫芦娃

                         好看不

                         欢迎再来啊

                         你是鉴黄师?

 

        r  rb

                 r模式:

                 1、f.read() 全部读出来

                         f1 = open('七个男人与一个女人', encoding='utf-8', mode='r')

                         print(f1.read())

                         f1.close()

                

                

                 2、f.read(n)

                         r模式:read(n)  n 是按照字符读取

                         rb模式:read(n) n 是按照字节读取

                         f1 = open('七个男人与一个女人', encoding='utf-8', mode='r')

                         print(f1.read(3))

                         f1.close()

                        

                 3、f.readline() 按行读取,输出几次打印几行

                         f1 = open('七个男人与一个女人', encoding='utf-8', mode='r')

                         print(f1.readline())

                         print(f1.readline())

                         print(f1.readline())

                         print(f1.readline())

                         f1.close()

                

                 4、f.readlines()  返回一个list,里面的元素是原文件里的内容

                         f1 = open('七个男人与一个女人', encoding='utf-8', mode='r')

                         print(f1.readlines())

                         f1.close()

                         结果:['欢迎收看葫芦娃\n', '好看不\n', '欢迎再来啊\n', '你是鉴黄师?']

                

                         f1 = open('七个男人与一个女人', encoding='utf-8', mode='r')

                         content = f1.readlines()

                         for line in content:

                                  print(line)

                         f1.close()

                        

                 5、for循环去读    

                         f1 = open('七个男人与一个女人', encoding='utf-8', mode='r')

                         for line in f1:

                                  print(line)

                         f1.close()

                        

                 rb模式:非文字类的文件

                         f1 = open('七个男人与一个女人', mode='rb')

                         print(f1.read())

                         f1.close()

                

                 r+模式:读写,先读后写(能读出之前的内容,新写进去的读不到)

                 r+模式如果先写后读,则内容写在最前面,读不到,但是可以读到原有的内容

                         f1 = open('七个男人与一个女人', encoding='utf-8', mode='r+')

                         print(f1.read())

                         f1.write('666')

                         f1.close()

                

                 r+b模式:读写,先读后写,bytes模式

                         f1 = open('七个男人与一个女人', mode='r+b')

                         print(f1.read())

                         f1.write('666'.encode('utf-8'))

                         f1.close()

                

        w wb模式

                 w(只写模式):

                                  1、没有文件,创建文件写内容

                                  2、如果有文件,清空原文件写入新内容

                        

                         f1 = open('log1', encoding='utf-8', mode='w')

                         f1.write('葛龙你为什么这么好')

                         f1.close()

                        

                 wb模式:

                         f1 = open('log1', mode='wb')

                         f1.write('葛龙你为什么这么好1111'.encode('utf-8'))

                         f1.close()

                

                

                 w+:先写后读

                         f1 = open('log1', encoding='utf-8', mode='w+')

                         f1.write('天天上课太累了aa')

                         f1.seek(3)  #按字节移动光标

                         print(f1.read())

                         f1.close()

                        

                 w+b模式:

                         f1 = open('log1', mode='w+b')

                         f1.write('天天上课太累了aa'.encode('utf-8'))

                         print(f1.read())

                         f1.close()

                        

        a ab模式:

                         1、没有文件,创建文件写内容

                         2、如果有文件,直接在原文后面追加新内容

                 a模式:

                         f1 = open('log1', encoding='utf-8', mode='a')

                         f1.write('葛龙你为什么这么好1111')

                         f1.close()

                        

                 ab模式:

                         f1 = open('log1', mode='ab')

                         f1.write('葛龙你为什么这么好1111'.encode('utf-8'))

                         f1.close()

                

                 a+模式:追加可读

                         f1 = open('log2', encoding='utf-8', mode='a+')

                         f1.write('赶紧学习完')

                         print(f1.read())

                         f1.close()

                        

                 ps:非文字文件的读取

                         f1 = open('11.jpg', mode='rb')

                         girl = f1.read()

                         f1.close()

                         f2 = open('大胸女.jpg',mode='wb')

                         f2.write(girl)

posted @ 2018-05-10 08:19  龙的传人123  阅读(1248)  评论(0)    收藏  举报