zoukankan      html  css  js  c++  java
  • 文件操作练习题

    #想要读取一个文件的第三行
    fp = open("e:\a.txt","r",encoding="utf-8")
    n=1
    for  line in fp:  #fp是句柄,为可迭代对象,所以能用for循环
        if n==3:
            print(line)
        n+=1
    fp.close()
     
     
    升级小练习:请把它封装到一个函数里面
    import os.path
     
     
    def read_specific_line(file_path,line_number,encoding="utf-8"):
        if not os.path.exists(file_path):
            return None
        if not isinstance(line_number,int):
            return None
        content  = None
        fp = open(file_path,"r",encoding=encoding)
        n=1
        for line in fp:
            if n==line_number:
                content = line
            n+=1
        fp.close()
        return content
     
     
    print(read_specific_line("e:\a.txt",3,"utf-8"))
     
     
    #健壮版:如果编码格式不对,用try...except...
    import os.path
    
    def read_specific_line(file_path,line_number,encoding="utf-8"):
        if not os.path.exists(file_path):
            return None
        if not isinstance(line_number,int):
            return None
    
        content  = None
        try:
            fp = open(file_path,"r",encoding=encoding)
            n=1
            for line in fp:
                if n==line_number:
                    content = line
                    fp.close()
                    return content
                n+=1
            fp.close()     
        except:
            print("编码设定错误,请更换编码参数重试!")
            return content
    
    print(read_specific_line("e:\a.txt",3,"utf-8"))
  • 相关阅读:
    Tomcat 三种运行方式
    MariaDB介绍
    Nginx 平滑升级
    代理命令 proxy_pass 详解
    Nginx 和 Tomcat 负载均衡
    基于Apache和tomcat实现负载均衡
    centos7 通过源码编译的方式安装和配置Apache
    基于nginx结合openssl实现https
    HTTP 和 HTTPS 区别
    linux系统中修改别名配置文件,构建命令别名
  • 原文地址:https://www.cnblogs.com/wenm1128/p/11627988.html
Copyright © 2011-2022 走看看