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

    文件操作:

    1、读取文件的相关参数:

    1open()  ##打开一个文件的函数

     file = open('file1',encoding='utf8') //打开一个文件,指点编码为utf8,并赋值给一个变量
     data = file.read() // read读取文件内容,将内容赋值给一个变量
     print(data)	   //输出文件内容
     file.close()   //关闭文件

    结果:

     

    2close() ##关闭一个文件的函数,例子同上

    3read()  ##读取文件内容,例子同上

    4readable()  ##判断文件是否可读

    file = open('file1',encoding='utf8')
    data  = file.readable()   //判断文件是否可读
    print(data)
    file.close() 

    结果:

     

    5readline()  ##每次只读取文件的一行内容

    file = open('file1',encoding='utf8')
    data = file.readline()  //读取一行并空行隔开,如果不想有空行,在输出内容的时候加一个end=''
    data1 = file.readline() //读取一行
    print(data)
    print(data1)
    file.close() 

    结果:

    print(data,end='')  // 去掉空行
    print(data1)

    结果:

     

    6readlines()  ##把文件内容都读取出来,输出为列表的形式

    file = open('file1',encoding='utf8')
    data = file.readlines() // 读取全部数据
    print(data)
    file.close() 

    结果:

    2、写文件的相关参数:

    1w参数:

    file = open('file1','w',encoding='utf8') // 加个w就表示在执行写操作
    data = file.read()  //在写的过程中去读取文件,会报错,并且会清空整个文件
    file.close()

     结果:

     

    ps:如果文件不存在,直接打开并关闭则会创建一个新的文件

    2write() ##写操作,直接把要写的内容放在括号里

    file = open('file1','w',encoding='utf8')
    file.write('11111
    22222
    33333
    ')
    file.close() 

     结果:

       

    3writable()  ##判断一个文件是否可写

    file = open('file1','w',encoding='utf8')
    file.writable()  
    print(data)
    file.close()

     结果:

    4writelines() ##用列表的形式写入内容

    file = open('file1','w',encoding='utf8')
    file.writelines(['xyyyyyyp
    ','dadasda
    '])
    file.close()

    结果:

    5a参数:

    file = open('file1','a',encoding='utf8')
    file.write('
    倒数第二行
    倒数第一行')
    file.close() 

    结果:

    修改文件的终极方法:

    with open('file1','r',encoding='utf8') as file,
            open('file1','w',encoding='utf8') as file11:
        data = file.readlines()
        file11.write('呦呦呦 切克闹')

    使用with的方法打开一个文件,不用在最后面加上一个file.close,以便操作过多忘记

    3、其他参数:

    (1)r+  可读可写:

    with open('file1','r+',encoding='utf8') as f:
        print(f.read())
        f.write('
    hello')

    读结果:

     

    写结果:

     

    2w+  可读可写:

    with open('file1','w+',encoding='utf8') as f:
        print(f.read())
        f.write('hello')

     读结果:

     

     写结果:

    (3)a+ 可读可写:

    with open('file1','a+',encoding='utf8') as f:
         print(f.read())
         f.seek(2)   //指定光标在什么位置
         f.write('	world')

    读结果和w+的一样

    写结果:

    4)总结:

    a、重要记住:r  w  a

    br+w+a+的区别:

        r+:是先读在写,写的时候会在文件后面追加内容

        w+:是先把文件内容整个替换掉,然后在写入新的内容

        a+:和r+的意思是一样的,这里在有seek()的情况下,不管光标在什么位置,   都是在文件的后面追加内容

    案例1 输入指定内容加载所需要信息

        

    while True:  //循环整个操作
        test = input('please enter url: ').strip()  //交互模式
        l = []   //定义空列表
        flag = False   //标志位
        with open('haproxy.conf',encoding='utf8') as f: //读取文件
    
             for line in f:  //循环遍历整个文件
                if line.startswith('backend') and test in line:  //对所需要的内容进行判断
                   flag = True   //标志位判断
                   continue     //退出当前操作
                if line.startswith('backend') and flag:  //对不需要的内容进行判断
                   break  //退出整个操作
                if flag:
                   l.append(line.strip())   //将筛选出来的内容加到列表里面
             for i in l:
                print(i)

    案例2 加载进度条,并显示百分比

    import sys	   //加载sys系统模块
    print("loadin...")  //输出内容
    for i in range(101):   //取一个数字范围进行循环
        s = "
     %d%% %s"%(i,"#"*i)   //拼接字符串,
    表示光标永远在行首
        sys.stdout.write(s)    //输出变量s所对应的字符串
        sys.stdout.flush()     // 刷新输出的内容
        import time     //加载时间模块
        time.sleep(0.3)   //设置睡眠时间
    

      

     

  • 相关阅读:
    Spring 梳理-启用MVC
    Spring 梳理-MVC-配置DispatcherServet和ContextLoaderListener
    Spring 梳理-MVC-前端控制器DispatchServlet及URL请求处理过程
    Spring 梳理-AOP
    Spring 梳理-运行时动态注入bean
    Spring 梳理-bean作用域
    Spring 梳理-profile与条件化定义bean
    Spring 梳理-bean配置与装配
    Spring 梳理-容器(container)
    iframe
  • 原文地址:https://www.cnblogs.com/xyp-blog123/p/6879980.html
Copyright © 2011-2022 走看看