python02-文件操作

文件操作

  • open('文件路径', '操作', '编码'):打开文件

    • 基本打开方式:
      • r:只不能写
      • w:只写,如果文件不存在,则创建文件,如果文件存在,则清空文件内容
      • x:只写,如果文件不存在,则创建文件,如果文件存在,则抛异常
      • a:追加,如果文件存在,在追加,文件不存在则创建文件
    file = open('haha.log', mode='r', encoding='utf-8')
    data = file.read()
    file.close()
    print(data)
    
    file2 = open('haha.log', mode='w', encoding='utf-8')
    file2.write('Hello World')
    file2.close()
    
    • python3新加的打开方式
      • rb:通过字节的方式读取,忽略编码,直接获取到字节
      • wb:通过字节的方式写入
      • xb:通过字节的方式写入
      • ab:通过字节的方式追加
  • file的方法

    • file = open()获取到文件
    • close():断开与文件的连接,回收资源
    • flush():主动刷新到硬盘,调用close()也会默认调用flush()方法
    • readable():是否可读
    • read(1):读取一个字符
    • readline():读取一行
    • seek():调整指针的位置
    • tell():获取指针的位置
    • truncate():截取,只保留指针之前的内容
  • 遍历file文件

    • file文件可以遍历,一行一行的获取到文件里面的内容
    file = open('haha.log', mode='r', encoding='utf-8')
    # data = file.read()
    for i in file:
        print(i)
    file.close()
    
  • with open('path', 'mode', 'encoding') as fileName方式打开文件不需要close

  • with open ...as 可以同时打开2个文件(2.7之后添加的特性)

    with open('haha.log', mode='r', encoding='utf-8') as file1, open('haha_copy.log', mode='w', encoding='utf-8') as file2:
        for line in file1:
            file2.write(line)
    
  • 打开模式二:

    • r+:读写
      • 通过r+进入后,指针停留在最前面,一旦调用write写入数据后,不管指针在什么位置,直接调到最后
      • 如果需要追加内容,需要将指针seek到最后
    • w+:写读
      • 通过w+进入后,如果文件存在,会先清空文件,如果不存在,则创建文件
      • 先写了数据才能有数据可读
    • x+:写读
      • 通过x+进入,如果文件存在则报错,不存在则创建
    • a+:追加读
      • 通过a+进入,指针停留在最后,如果需要读取数据,需要将指针往前移
    • 读写 != 写读
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容