python 的文件操作。

 20、文件操作:
             1、打开文件:
                    f = open('db','r') 只读 ;  f = open('db','w') 只写   ; f = open('db','x')文件存在报错,不存在则创建并只写入。注意:因为文件是以字节形式存储在硬盘中,而文件读取的是字符串形式,所以这里一定要注意字节转字符串时候采用的什么字符编码,python自己默认转换。
                    f = open('db','rb'):表示以二进制的形式打开文件。所以f.write( )时必须先把字符串转换成字节类型才能写入文件中。
                    f = open('db','r+',encoding='utf-8')# r+以后用的多。。。。w+先清空文件,a+永远在最后追加。。
                    data = f.read(1) #如果打开方式无 b,则read ,按照字符读取
                    print(f.tell( )) #tell 当前指针所在位置(字节)
                    f.seek(f.tell( ))调整当前指着你的位置(字节)
                    f.write('888') #当前指针位置开始覆盖。
                    f.close
               2、操作文件:
                    #read() 无参数,读全部;有参数 : 有b,按字节,无b按字符。
                    #tell()获取当前指针位置(字节)
                    #seek(1)指针跳转到指定位置(字节)
                    #write( ) 写数据,有b,字节;无b,字符。
                    #close
                    #fileno 文件描述符。
                    #flush 强刷到磁盘。
                    #readline 仅读取一行。
                    #truncate 截断,指针后面的清空。
                    #for循环文件对象 f = open(xxx)
                              for line in f:                 ==》经常用到。。循环文件的所有行。
                                    print(line)
               3.关闭文件: file.close 或者
                    with open('xb') as f: 
                           pass
     
                   高版本python 支持打开多个文件,with open('db1','r') as f1,open('db2','w') as f2:
                                                                             for line in f1:
                                                                                  f2.write(line) 实现读取f1一行,往f2中写一个行,这里可一个加一个 count ,实现写多少行。
                    还可以是实现替换:for line in f1:new_str = line.replace('alex','eric') f2.write(new_str)  对f1中出现的所有的'alex' 替换成'eric'。
posted @ 2016-08-03 17:13  哈嘉好啊  阅读(164)  评论(0编辑  收藏  举报