zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    FZU 2098 刻苦的小芳(卡特兰数,动态规划)
    卡特兰数总结
    FZU 1064 教授的测试(卡特兰数,递归)
    HDU 4745 Two Rabbits(区间DP,最长非连续回文子串)
    Java 第十一届 蓝桥杯 省模拟赛 正整数的摆动序列
    Java 第十一届 蓝桥杯 省模拟赛 反倍数
    Java 第十一届 蓝桥杯 省模拟赛 反倍数
    Java 第十一届 蓝桥杯 省模拟赛 反倍数
    Java 第十一届 蓝桥杯 省模拟赛 凯撒密码加密
    Java 第十一届 蓝桥杯 省模拟赛 凯撒密码加密
  • 原文地址:https://www.cnblogs.com/wuzhenhu/p/9524348.html
Copyright © 2011-2022 走看看