zoukankan      html  css  js  c++  java
  • py 5.8

    一、文件的打开

    # f1 = open( r'd:
    ew 2.txt' , encoding = 'utf-8',mode = 'r')
    # print(f1.read())
    # f1.close()
    # f1 = open('liu.txt',encoding = 'utf - 8', mode = 'r')
    # print(f1.read())
    # f1.close()
    #一、打开文件: f1 = open('路径',encoding='编码方式',mode = '模式')
    # 流程:1.打开文件,赋值给一个变量(文件句柄)  2.对该句柄进行各种操作 3.关闭
    # open不是py中的关键字,是windows系统的一种打开文件的方式。
    # 绝对路径:从根目录一直找到最后想要的文件路径
    # f1 = open( r'd:
    ew 2.txt',encoding = 'utf-8',mode = 'r')
    # print(f1.read())
    # f1.close()
    #相对路径:从当前目录找到文件
    # f1 = open('a',encoding='utf-8',mode = 'r')
    # print(f1.read())
    # f1.close()
    #编码方式:windows默认编码方式为'gbk',linux/macos默认编码方式为'utf-8'
    View Code

    二、模式、操作方法

    #模式
    #一、r      只读,默认打开方式,可省略,其它都不可省略
    #rb: 用bytes类型打开文件,编码方式不用写,非文本文件,图片、视频等
    #打开图片:先rb然后再wb写入再查看
    #r的五种读取方法:1.read  全读
    #                2. read(n)  r:按照字符个数读   rb:按照字节个数读
    #                3.readline  按’行‘ 读取
    #                4.readlines   以列表形式显示,每个元素是’每一行‘
    #                5.for i in f1:  按行显示,但是没显示一行,上一行自动清除,不占内存
    # f1 = open('liu.txt' , encoding='utf-8' , mode = 'r')
    # print(f1.readline())
    # print(f1.readline())
    # print(f1.readline())
    # f1.close()
    # print(f1.read(3))
    # f1.close()
    # for i in f1:
    #     print(i)
    #r+: 读写。先读后写
    #r+b: bytes类型的先读后写
    #二、w     只写。当文件存在时,先清除原内容,然后写。当文件不存在时,创建文件,再写。
    #    wb    bytes类型的写入
    #    w+    写读,先写后读。 写完之后,光标移到了最后,所以读不到,用f1.seek(0) 按字节来调整光标。
    #    w+b   bytes类型的先写后读。
    #三、a     追加。当文件存在时,在后面直接追加写。当文件不存在时,创建文件然后再写。
    #    ab    追加bytes. 可以直接转化:字母、数字、特殊字符。 其它都不可以。
    #    a+    追加可读
    #四、操作方法
    #1.read
    #2.readable/writeable  返回值为F/T
    #3.seek(按字节调整光标位置)
    #4.tell(告诉显示光标的位置,字节)
    #五、打开文件的另一方法:1.可以打开多个文件  2.不用关闭文件
    # with open ('liu.txt' , encoding='utf-8',mode = 'r') as f1:
    #     print(f1.read())
    # with open ('liu.txt' , encoding='utf-8',mode = 'r') as f1,
    #      open ('a' , encoding='utf-8',mode = 'r') as f2:
    #     print(f1.read())
    #     print(f2.read())                                #注意,不能打开同一名称的文件,否侧出错,需要把之前的用代码关闭。
    View Code

    三、文件的改

    #六、文件的改
    #五步:1.打开原文件  old_file,将原文件的内容读取到内存中。尽量用for读取,以免文件太大。
    #      2.创建新文件new_file。用w,for循环中不清除原文件的内容。
    #      3.将原文件内容按你所想的改好,然后写入新文件。
    #      4.清除原文件。         os.remove()
    #      5.将新文件重命名成原文件。 os.rename('新文件’,‘原文件’)
    # 方法一:
    # import os
    # with open('liu.txt' , encoding='utf-8',mode='r') as f1,
    #     open ('change_new.txt',encoding='utf-8',mode = 'w') as f2:
    #     old_content = f1.read()
    #     new_content = old_content.replace('啦','哇哇哇')
    #     f2.write(new_content)
    # os.remove('liu.txt')
    # os.rename('change_new.txt','liu.txt')
    #方法二:
    # import os
    # with open('liu.txt' , encoding='utf-8',mode='r') as f1,
    #     open ('change_new.txt',encoding='utf-8',mode = 'w') as f2:
    #     for i in f1:
    #         new = i.replace('哇','呀')       #字符串的修改一定要赋给一个新的值。
    #         f2.write(new)
    # os.remove('liu.txt')
    # os.rename('change_new.txt','liu.txt')
    View Code
  • 相关阅读:
    bzoj1066【SCOI2007】蜥蜴
    ZOJ 2588 Burning Bridges(无向连通图求割边)
    javascript模拟类的最佳实践
    Java接口源码--System和应用程序进程间通信
    uestc 94(区间更新)
    HDU 4667 Building Fence(求凸包的周长)
    系统视图,系统表,系统存储过程的使用
    iOS学习9_事件分发&响应链
    热门游戏<开心消消乐>的“加壳”诡计!!
    【SICP练习】152 练习4.8
  • 原文地址:https://www.cnblogs.com/liujjpeipei/p/9010854.html
Copyright © 2011-2022 走看看