首页 > 编程语言 >python实现文件的读写

python实现文件的读写

时间:2024-07-20 17:27:44浏览次数:17  
标签:文件 03 python 读写 read file print open

python实现文件的读写

  • 路径的书写:

    open("E:\\ai_03\\code\\ai_03_python\\day07\\data.txt")#两个斜杠
    open(r"E:\ai_03\code\ai_03_python\day07\data.txt", "w", encoding="utf8")#建议使用
    
  • 读文件

    • 读文件的格式

      • 要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符:

        f = open('c:\\users\\shujia\\desktop\\test.txt', 'r')
        'r'标示符表示读,这样成功地打开了一个文件
        如果文件不存在,open()函数就会抛出一个IOError的错误
        
      • 如果文件成功打开,调用read方法可以把内容读到内存,用一个str对象接收:f.read() 得到’Hello, world!'。

      • 文件使用完毕后调用close()方法可以关闭文件:f.close()。

    • open方法

      • open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。

        open(file,mode='r',buffering=None,encoding=None,errors=None,newline=None,closefd=True)
        
      • 参数方法

        • file: 必需,文件路径(相对或者绝对路径)。
        • mode: 可选,文件打开模式,默认为r。
        • encoding: 一般使用utf8编码。
        • errors: 报错级别。
        • newline: 区分换行符。
        • buffering: 设置缓冲。
        • closefd: 传入的file参数类型。
      • 常用的mode

        • ‘r’:读取 open for reading (default)
        • ‘w’:写(关闭后会删去,写非二进制加上:encoding=‘utf8’)open for writing, truncating the file first。
        • ‘x’:创建写(有的话报错,没有就创建)create a new file and open it for writing。
        • ‘a’:追加 open for writing, appending to the end of the file if it exists。
        • ‘b’:二进制 binary mode。
        • ‘+’:更新 可以组合使用 open a disk file for updating (reading and writing)。
        • 不同mode可以相互灵活组合:r、rb、w、wb等。
      • 使用with语句

        • 文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。Python引入了with语句来自动调用close()方法。

          with open('/path/to/file','r') as f:
              print(f.read())
          
    • read方法

      • read()会一次性读取文件的全部内容(内存可能不够用,可以反复调用read(size)方法,每次最多读取size个字节的内容。)
      • readline()可以每次读取一行内容(不带参数 读取一行,数如果过大 也不会超过这一行)。
      • readlines()一次读取所有内容并按行返回list(参数每到一行 读一行 参数超过一行读完下一行).
  • 写文件

    • 写文件的格式

      • 写文件和读文件是一样的,唯一区别是调用open()函数时,传入标识符’w’或者’wb’表示写文本文件或写二进制文件:

        • 先打开文件:f = open(‘c:\users\shujia\desktop\test.txt/test.txt’, ‘w’)
        • 通过write方法写入:f.write(‘Hello, world!’),可以反复调用write()
        • 最后关闭文件:f.close()
      • 写文件同样可以使用with语句,保证把没有写入的数据全部写入磁盘。can

        with open('/path/to/file','w') as f:
            f.write('hello world')
        
  • 参考代码

if __name__ == '__main__':
    # 相对位置 和 绝对位置
    # 绝对位置 从盘符开始输入路径
    # open("E:\\ai_03\\code\\ai_03_python\\day07\\data.txt")
    fp = open(r"E:\ai_03\code\ai_03_python\day07\data.txt", "w", encoding="utf8")
    # ========= ===============================================================
    # Character Meaning
    # --------- ---------------------------------------------------------------
    # 'r'       open for reading (default)
    # 'w'       open for writing, truncating the file first
    # 'x'       create a new file and open it for writing
    # 'a'       open for writing, appending to the end of the file if it exists
    # 'b'       binary mode
    # '+'       open a disk file for updating (reading and writing)
    # ========= ===============================================================

    # open("E:/ai_03/code/ai_03_python/day07/data.txt")

    # 写文件
    # write 往里写入字符串
    fp.write("nihao helloworld\n")
    print(fp.writable())
    fp.writelines("nihao")
    # writelines可以写入字符串列表 把列表合并成大字符串
    fp.writelines(["asdad", "dasdadada", "\n", "eeeeee"])
    fp.close()

    # 读文件
    # 相对位置 存在i相对的概念 ./ 表示同级文件夹下   ../ 表示上级目录下
    f2 = open(r"../day04/homework", "r", encoding="utf8")
    # read 不传参 取所有数据
    # read 传参 取几个字符
    # 读取时候 如果同一次读取 就继续往后读
    print(f2.read(1))
    print(f2.read(1))
    print(f2.readline())
    print(f2.readline())
    # readline 不带参数 读取一行
    # 带参数 读几个字符
    print(f2.readline(6))
    # 参数如果过大 也不会超过这一行
    print(f2.readline(100))
    # readlines 返回的参数数列表
    # 参数没到一行 读一行  参数超过一行读完下一行
    print(f2.readlines(34))
    # 读取所有的行 存入列表中
    print(f2.readlines())
    f2.close()
    pass

标签:文件,03,python,读写,read,file,print,open
From: https://blog.csdn.net/mohanyelong/article/details/140503385

相关文章

  • python模块化设计
    在Python中,模块化是将代码分解为独立的功能块,并通过导入和使用这些功能块来实现代码复用和组织的一种方式。模块化的编程风格使得代码更易于维护、扩展和测试。以下是Python实现模块化的一些常用方法:使用import语句导入模块:可以使用import语句导入其他Python文件(.py文件)作为......
  • 5分钟解锁python多线程
    以下是一个使用Python多线程的简单示例代码:importthreadingdefprint_numbers():foriinrange(1,6):print(i)defprint_letters():forletterin['A','B','C','D','E']:print(letter)if__nam......
  • 看过来!看过来!python九大数据类型大整合!
    目录一、Int(整型)二、Float(浮点型)三、Bool(布尔类型)四、Str(字符串)(1)拼接:(2)格式化:(3)查找和替换:(4)分割和连接:(5)大小写转换:(6)去除空白字符:五、None(空值)初始化变量作为函数的返回值:在条件语句中检查:六、List(列表)创建List访问List元素修改ListList的遍历七......
  • Android开发 - 布局文件之 include 使用
    简介include是在一个布局中,导入另一个布局文件。优势是:相同的页面只需写一次,提高了共通布局的复用性。下面我们以标题栏为例,详细说明它的使用步骤使用步骤第一步:通用布局-创建title_bar.xml//title_bar<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:an......
  • win系统 python 安装 osgeo库安装(最简单)
    Python osgeo库安装用法介绍安装使用osgeo库,本质是安装gdal一、下载对应python版本压缩包下载地址在结尾二、解压压缩包在解压之后的文件夹当中,找到这两个文件夹三、复制文件夹到python安装目录当中如python环境文件夹路径为D:\Local\Programs\miniconda3\envs\py31......
  • 【Python】使用库 -- 详解
    库就是别人已经写好了的代码,可以让我们直接拿来用。一个编程语言能不能流行起来,一方面取决于语法是否简单方便容易学习,一方面取决于生态是否完备。所谓的“生态” 指的就是语言是否有足够丰富的库,来应对各种各样的场景。在实际开发中,也并非所有的代码都自己手写,而是要充分利......
  • python函数基础
    1.函数目的函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。函数可以封装一定的功能2.函数的定义函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。任何传入参数和自变量必须放在圆括号中间,圆括......
  • Python游戏开发实践项目-小恐龙躲避游戏——一个适合python新手练手的项目
    今天我们就来给大家演示下,用Python来自己做一个仿制的“小恐龙游戏”!废话不多说,让我们愉快地开始吧~相关模块:pygame模块;以及一些python自带的模块。环境搭建安装Python并添加到环境变量,pip安装需要的相关模块即可。先睹为快在终端运行如下命令即可:pythonGame7.py......
  • python 类
    构造方法init方法说明参数self->指的就是实例对象自己,返回值为空,实际是调用了new方法会生成一个实例对象实例化类的时候系统自动调用init方法进行创建(在调用init方法直接系统自动调用new方法创建对象)对象和初始化如果类没有init方法,系统会调用默认的;如果写了就相当于对init......
  • 导入excel文件
    usingSystem;usingSystem.Windows.Forms;usingSystem.Text;usingSystem.Data;usingSystem.Reflection;usingSystem.Xml;usingSystem.Net;usingSystem.Net.Sockets;usingSystem.IO;usingSystem.IO.Ports;usingSystem.Collections;usingSystem.Collections.Generic;......