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"))
  • 相关阅读:
    [NOI2001]炮兵阵地
    POJ 2411 Mondriaan's Dream
    【模板】割点(割顶)
    [Noip2007]Core树网的核
    2018.09.09模拟总结
    2018.09.08模拟总结
    [USACO11JAN]Roads and Planes
    最优贸易
    [USACO08JAN]Telephone Lines
    Calabash(葫芦娃)
  • 原文地址:https://www.cnblogs.com/wenm1128/p/11627988.html
Copyright © 2011-2022 走看看