• day 8:open文件和with的使用


    本节内容:

      1,open打开文件后的几种操作

      2,with和open的连用

      3,flush的使用

    1:open

    1)r权限

    f = open("D:\autoproject\fullstackweek2day8小重山.txt", "r", encoding="utf-8")
    data = f.read()  
    # read(5):只读五个字,中英文相同,一个字母一个字,一个汉字一个字,此时光标在第五个字,再次运行,读取的数据是从第五个字往后读取
    print(data)

    2)w权限

    f = open("D:\autoproject\fullstackweek2day8小重山.txt", "w", encoding="utf-8")  # 写的方式打开,会将原来的文件内容清除
    f.write("hello world")
    f.close()

    3)a权限

    f = open("小重山", "a", encoding="utf-8")  # 在文件的末尾添加,文件不可读
    f.write("
    hello yuefei 
    ")
    f.close()  # 关闭打开的文本

    4)r+,a+,w+的区别

    # ----- r+的用法 ----
    f = open("小重山", "r+", encoding="utf-8")
    print(f.readline())  # 必须有read的动作才能够添加 ,不然不能添加成功
    f.write("你好")  # 写在最后
    f.seek(0)
    for i in f:
        print(i.strip())  # 去除前后空格
    f.close()
    #  -------------- w+的用法--------------
    f = open("小重山1", "w+", encoding="utf-8")
    f.write("你好")
    print(f.tell())  # 获取当前光标所在位置,字节位置
    f.seek(0)  # 光标移动到开始
    for i in f:
        print(i.strip())
    f.close()

    a+和w+的用法相同,只是在打开文件的时候不清空

    2,with和open的连用

    with open("小重山", "r",  encoding="utf-8") as f, open("新小重山", "w+", encoding="utf-8") as f2:
        # with的使用可以在结束的时候自动关闭文件,不需要在运行的最后加上close
        number = 1
        for i in f:
            if number == 6:
                i = ''.join((i.strip(), "alex"))
            f2.write(''.join((i.strip(), "
    ")))
            number += 1
        f2.seek(0)
        for new in f2:
            # 使用的时候迭代器的方式,不容易导致内存被过多的占用
            print(new.strip())

     3,flush的使用,实现进度条的功能

    import sys, time
    for i in range(100):
        sys.stdout.write("*")
        sys.stdout.flush()  # 将写的文本存入硬盘当中
        time.sleep(0.2)
  • 相关阅读:
    三:oracle练习
    二:SQL 函数
    一:SQL基本语法
    生产者与消费者模式(理解) 进程间通信之消息队列编程
    C语言
    前端面试:基础javascript篇(二)
    Koa入门和源码分析
    前端面试:基础javascript篇(一)
    前端面试题(二)
    C复习
  • 原文地址:https://www.cnblogs.com/wuzhenhu/p/9524348.html
Copyright © 2020-2023  润新知