zoukankan      html  css  js  c++  java
  • python基础八之文件操作

    python的文件操作

      1,打开文件

      编码方式要和文件的编码方式相同!

    #open('路径','打开方式','指定编码方式')
    f = open(r'E:pycharm学习day8	est', mode='r', encoding='utf-8')

        打开方式:

        只读 r

    with open('test', mode='r', encoding='utf-8') as f:
        print(f.read())

        只写 w

    with open('test', mode='w', encoding='utf-8') as f:
        f.write('举头望明月,低头思故乡。')      # test文件不存在则新建  存在则删除原文件的内容后添加新的

        追加 a

    with open('test', mode='a', encoding='utf-8') as f:
        f.write('举头望明月,低头思故乡。')     # test文件不存在则新建 存在则在原文件内容的后面添加

        读写 r+

    with open('test', mode='r+', encoding='utf-8') as f:
        print(f.read())
        f.write('海上生明月,天涯共此时。')   # 先读后写 写的添加到后面
    with open('test', mode='r+', encoding='utf-8') as f:
        f.write('海上生明月,天涯共此时。')
        print(f.read())     # 先写后读 写的从头开始逐一覆盖添加

        写读 w+

    with open('test', mode='w+', encoding='utf-8') as f:
        f.write('举头望明月,低头思故乡。')
        print(f.read())               # 相当于先w清空写好内容后光标在最后索引r没有任何内容
    with open('test', mode='w+', encoding='utf-8') as f:
        print(f.read())
        f.write('举头望明月,低头思故乡。')  # 相当于先w清空 所以读的内容为空 然后再写入新的内容

      2,操作文件

        读文件

    with open('test', mode='r', encoding='utf-8') as f:
        print(f.read())   # 一次性读取全部内容
    with open('test', mode='r', encoding='utf-8') as f:
        print(f.readline())     # 一行一行读取
    with open('test', mode='r', encoding='utf-8') as f:
        print(f.readlines())   # 一次性读取全部,转换为列表,元素是每行的内容

        写文件

    with open('test', mode='w', encoding='utf-8') as f:
        f.write('举头望明月,低头思故乡。')      # test文件不存在则新建  存在则删除原文件的内容后添加新的

        其他的操作方式

    # 定义读取的字符个数
    with open('test', mode='r', encoding='utf-8') as f:
        print(f.read(2))  # 负数获取全部 0为空
    # 移动指针位置
    with open('test', mode='r', encoding='utf-8') as f:
        f.seek(3)     # 移动是按字节数
        # f.seek(2)   # utf-8一个中文字符三个字节表示 所以2个字节找不到报错
        print(f.read())
    # 获取字符指针的位置
    with open('test', mode='r', encoding='utf-8') as f:
        f.read()          # 将文件读完 指针移动到结尾
        print(f.tell())   # tell()返回指针位置
    # 截取指定长度的字符  截取是按字节数
    with open('test', mode='r+', encoding='utf-8') as f:
        f.truncate(9)   # 截取前9个字节,英文就是前九个 ,中文是前三个

      3,关闭文件

        一般在操作完成后加close()来完成关闭文件。(容易忘记!)

    f = open(r'E:pycharm学习day8	est', mode='r', encoding='utf-8')
    content = f.read()
    print(content)
    f.close()   # 关闭

         另外一种方式可以有效的避免忘记写close()。

    # 通过with ... as来进行文件处理,最后会自动关闭文件
    with open('test', mode='r', encoding='utf-8') as f:
        print(f.read())

        

      

  • 相关阅读:
    再学 GDI+[91]: TGPImage(11) 转灰度图像
    再学 GDI+[90]: TGPImage(10) 获取图像的调色板信息
    给 Memo 排序的函数
    再学 GDI+[97]: TGPImage(17) 获取 GDI+ 所支持的可编码、可解码的图像格式
    再学 GDI+[94]: TGPImage(14) 增减图像的红、绿、蓝三色的成分
    上周热点回顾(10.2611.1)
    博客园上海俱乐部Windows 7社区发布活动的奖品
    顶吧!顶出今日头条
    博客园电子期刊2009年10月刊发布啦
    对于近期社区问题的一点想法
  • 原文地址:https://www.cnblogs.com/zxc-Weblog/p/8119277.html
Copyright © 2011-2022 走看看