zoukankan      html  css  js  c++  java
  • python基础【第十篇】

    Python文件操作

    1.常规格式

    f = open(file="文件所在路径/文件名",mode="操作模式",encoding="选择的编码")
    # 例如
    f = open(file="D:/Python_pro/s_27/day05/test.py",mode="r",encoding="utf-8")
    # 简写
    f = open("D:/Python_pro/s_27/day05/test.py","r",encoding="utf-8")
    注意:文件路径会出现转义现象
    可以修改为
    f = open("D:\Python_pro\s_27/day05\test.py","r",encoding="utf-8")
    或者
    f = open(r"D:Python_pros_27/day05	est.py","r",encoding="utf-8")
    建议使用
    f = open("D:/Python_pro/s_27/day05/test.py","r",encoding="utf-8")
    

    2.文件操作的三部曲

    1. 打开文件
    2. 对文件进行操作
    3. 关闭文件
    # 三步格式
    f = open(file="文件所在路径/文件名",mode="操作模式",encoding="选择的编码")
    f.read() 或 f.readline() 或 f.readlines() 或 f.write() 或 f.seek() 或 f.tell()
    f.close()
    

    自己有时候会忘记关闭文件,所以想要让其自动关闭因此可以写成如下的格式

    # 自动关闭文件
    可以同时打开多个文件
    with open("ddd.txt","r",encoding="utf-8")as f,
    	open("aaa.txt","r",encoding="utf-8")as f1:
    	print(f.read())
    	print(f1.read())
    

    3.文件的操作模式与方法

    # 读
    mode = "r"  # 只读
    mode = "r+" # 读写
    mode = "rb" # 读字节
    f.read() #一次性读全部,容易造成内存溢出
    f.readline() #一行一行的读
    f.readlines() #一行一行的读并把结果加入列表
    ---------------------------------------------
    # 写
    mode = "w" # 清空写
    mode = "w+" # 写读
    mode = "a" # 追加写
    mode = "a+" # 追加写读
    mode = "wb"或"ab" #写字节 
    f.write() # 将字符串写入文件
    ---------------------------------------------
    # 其他操作
    f.seek()  #移动光标
    f.seek(0,0)    # 将光标移动文件开头
    f.seek(0,1)    # 将光标移动到当前位置
    f.seek(0,2)    # 将光标移动文件末尾
    f.seek(3)        # 按照字节移动
    # 查看光标位置
    f.tell()  # 按照字节查看,返回的是字节
    

    4.文件操作常见错误

    1.运行的文件和要打开的文件不是同一个文件夹下   通过路径
    2.要打开的文件名和open里的名字不一致
    3.使用word,记事本等软件造成的未知错误         不建议使用这种方式创建文件
    

    5.文件内容的修改与备份示例

    with open("原文件.txt","r",encoding="utf-8") as f, 
            open("新建文件.txt","w",encoding="utf-8") as f1:
        for line in f:
            new_i = line.replace("要修改的旧内容","修改的新内容")
            f1.write(new_i)
    print("修改完成")
    import os
    os.rename("原文件.txt", "备份文件.txt")
    os.rename("新建文件.txt", "原文件.txt")
    
  • 相关阅读:
    mysql show profiles 使用分析sql 性能
    面向对象三大特征---封装、继承、多态
    http_build_query用法,挺方便的
    请求数据
    多模匹配算法之Aho-Corasick
    php命名空间如何引入一个变量类名?
    MySQL错误:Can't connect to MySQL server (10060)
    Vim完全教程
    路由
    wireshark
  • 原文地址:https://www.cnblogs.com/tianming66/p/11748637.html
Copyright © 2011-2022 走看看