• Python -- 文件操作


    文件操作

    f = open("文件路径", mode = "模式", encoding = "编码类型")

    模式 r w a / rb wb ab / r+ w+ a+ / r+b w+b a+b

    操作文件: 1. 打开文件 2. 操作文件 3. 关闭文件

    文件路径:

    • 绝对路径

      1. 从磁盘的根目录寻找.
      2. 网络的路径
    • 相对路径: 相对于当前你这个程序所在的文件夹(用的最多)

      f = open("../../",mode = "r", encoding = "编码") ../ 返回上个文件

    # 读  r    文件全部读取完以后,再次读取就没有内容
    read()  # 全部读取
    read(2) # 通过字符来读取
    readline() # 读取一行
    readlines()  # 一行一行的读取存放在列表中
    # 写 w
    1.先判断有没有文件存在,文件存在清空文件,文件不存在创建文件
    2.写入内容
    # 追加写 a
    在文件的末尾添加
    
    import os
    print(os.geicwd())  #查看当前工作路径
    
    for i in f:   #迭代读取
        print(i)
    
    # 读写非文本   读取的内容是字节
    # rb  不能指定编码
    # wb  ab  不能指定编码
    
    import requests
    ret = requests.get("图片地址")
    f = open("图片名",mode="wb")
    f.write(ret.content)
    f.close()
    
    # r+ 读写       
    f = open("day8",mode="r+",encoding="utf-8")
    print(f.read())
    f.write("脑瓜疼啊脑瓜疼")
    
    # w+ 写读
    f = open("day8",mode="w+",encoding="utf-8")
    f.write("你您你你")
    print(f.read())
    
    # a+ 追加写读
    f = open("a",mode="a+",encoding="gbk")
    print(f.tell())  # 查看的是字节
    f.seek(0)
    print(f.read(1)) # 字符
    
    # 其他操作
    tell  查看光标  -- 返回光标的按当前位置 (按字节)
    
    # seek 移动光标
    seek(0,0)  # 移动光标到文件的开始位置
    seek(0,1)  # 光标的当前位置
    seek(0,2)  # 移动光标到文件的末尾位置
    seek(3)    # 按照字节移动,从头开始
    
    # 另一个打开文件的方式:
    with open("文件路径",mode="操作文件的方式",encoding="编码") as f: # 面向对象中上下文管理
    1. 可以自动关闭文件
    2. 可以同时打开多个文件
    3. 可以同时操作多个文件
    
    with open("day8",mode="r",encoding="utf-8") as f,
    	open("a",mode="w",encoding="gbk") as f1:
    	print(f.read())
    	f1.write("真饿!")
    
    # 修改文件
    with open("原文件") as f, open("新文件") as f1:
        f.for循环读取
        f1.for循环写入
        
    import os
    os.remove("文件名")   #  删除文件
    os.rename("原文件名字","备份名")   #对文件进行备份
    os.rename("新文件名字","原文件名字")   #把新文件改成原文件的名字
    
    import os
    with oepn() as f1, open() as f2:  # 打开两个文件
    	for line in f1:       # 循环读取文件f1
    		new_line = line.replace()  # 替换文件的内容
    		f2.write(new_line)    # 将替换后的内容写入新文件
    os.remove("原文件")
    os.rename("新文件名", "旧文件名")
    
  • 相关阅读:
    01背包问题学习笔记
    状态压缩动态规划学习笔记
    并查集算法详解
    洛谷 P2939 [USACO09FEB]改造路Revamping Trails
    算法竞赛进阶指南 通信线路
    算法竞赛进阶指南 道路与航线
    NOIP2009 T3 最优贸易
    NOIP2017 Day1 T3 逛公园
    5.Go 语言数据类型:数组与切片
    4. Go 语言数据类型:byte、rune与字符串
  • 原文地址:https://www.cnblogs.com/Agoni-7/p/11041598.html
Copyright © 2020-2023  润新知