zoukankan      html  css  js  c++  java
  • Python老男孩 day18 文件操作的其他方法

    http://www.cnblogs.com/linhaifeng/articles/5984922.html

    f=open('b.txt','r+',encoding='utf-8',newline='') #读取文件中真正的换行符号
    
    f.flush() #讲文件内容从内存刷到硬盘
    
    f.closed #文件如果关闭则返回True
    
    f.encoding #查看使用open打开文件的编码
    f.tell() #查看文件处理当前的光标位置
    
    f.seek(3) #从开头开始算,将光标移动到第三个字节
    f.truncate(10) #从开头开始算,将文件只保留从0-10个字节的内容,文件必须以写方式打开,但是w和w+除外
    seek方法补充:
    #模式0(默认就是模式0),光标从文件的初始位置开始
    f=open('seek.txt','r',encoding='utf-8')
    print(f.tell())
    f.seek(10)
    print(f.tell())
    f.seek(3)
    print(f.tell())
    
    运行结果:
    0
    10
    3
    
    #模式1,光标从文件的上一次的位置开始
    f=open('seek.txt','rb')
    print(f.tell())
    f.seek(10,1)
    print(f.tell())
    f.seek(3,1)
    print(f.tell())
    
    运行结果:
    0
    10
    13
    
    #模式2 光标从最后开始反向往前
    f=open('seek.txt','rb')
    f.seek(-3,2)
    print(f.tell())
    
    运行结果:
    20
    #读取文件最后一行
    #方法一:
    f=open('日志文件','rb')
    data=f.readlines()
    print(data[-1].decode('utf-8'))
    
    运行结果:
    2016/12/30 sb  干了件sb事情
    #这样需要读取整个文件到内存,不推荐
    
    #循环文件的推荐方式  这样文件是一行一行读取
    f=open('日志文件','rb')
    for i in f:
        print(i)
    
    
    #方法二:
    f=open('日志文件','rb')
    for i in f:
        offs=-10
        while True:
            f.seek(offs,2)
            data=f.readlines()
            if len(data) > 1:
                print('文件的最后一行是%s' %(data[-1].decode('utf-8')))
                break
            offs*=2
  • 相关阅读:
    纯javascript遮罩层原理
    artDIalog 弹出层
    键盘对应ASCII码
    SQL Prompt 4安装步骤
    VSS2008 安装silverlight3.0步骤
    Jquery循环显示图片
    借助一般处理程序做验证码
    Socket编程原理及属性
    完整的HttpRequest讲解 createXmlHttpRequest Ajax请求
    年月日三级菜单 jquery
  • 原文地址:https://www.cnblogs.com/zhuhemin/p/9368916.html
Copyright © 2011-2022 走看看