首页 > 编程语言 >自动化办公-python中的open()函数

自动化办公-python中的open()函数

时间:2024-09-27 13:53:28浏览次数:12  
标签:文件 encoding python 模式 办公 打开 open example

Python中的 open() 函数用于打开一个文件,并返回一个文件对象,您可以通过该对象对文件进行读写操作。


基本语法:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

参数说明:

  • file:要打开的文件路径(字符串)。可以是相对路径或绝对路径。

  • mode:打开文件的模式(字符串),默认为 'r'。常用模式包括:

    • 'r':以只读模式打开(默认)。
    • 'w':以写入模式打开,会截断文件,即如果文件已存在,将清空原有内容。
    • 'a':以追加模式打开,写入的数据会追加到文件末尾。
    • 'b':以二进制模式打开,与其他模式结合使用,如 'rb''wb'
    • 't':以文本模式打开(默认),与其他模式结合使用,如 'rt''wt'
    • '+':可读写模式,与其他模式结合使用,如 'r+''w+''a+'
  • buffering:设置缓冲策略。0 表示不缓冲,1 表示行缓冲,>1 的整数表示缓冲区大小,-1 或省略表示使用默认缓冲策略。

  • encoding:文件编码类型(仅在文本模式下有效),如 'utf-8'

  • errors:错误处理方式(仅在文本模式下有效),如 'ignore''replace''strict'

  • newline:控制换行符的处理方式(仅在文本模式下有效)。可选值有 None'''\n''\r''\r\n'

  • closefd:当使用文件描述符而不是文件名时,如果为 False,则 close() 方法不会关闭底层的文件描述符。

  • opener:自定义打开器,返回一个打开的文件描述符。


示例:

  • 读取文本文件:

    # 以只读模式打开文件
    with open('example.txt', 'r', encoding='utf-8') as f:
        content = f.read()
        print(content)
    
  • 写入文本文件:

    # 以写入模式打开文件(会覆盖原有内容)
    with open('example.txt', 'w', encoding='utf-8') as f:
        f.write('这是写入的第一行文本。\n')
        f.write('这是写入的第二行文本。')
    
  • 追加文本文件:

    # 以追加模式打开文件
    with open('example.txt', 'a', encoding='utf-8') as f:
        f.write('\n这是追加的文本。')
    
  • 读取二进制文件:

    # 以二进制读模式打开文件
    with open('example.jpg', 'rb') as f:
        data = f.read()
    
  • 写入二进制文件:

    # 以二进制写模式打开文件
    with open('example_copy.jpg', 'wb') as f:
        f.write(data)
    
  • 同时读写文件:

    # 以可读写模式打开文件
    with open('example.txt', 'r+', encoding='utf-8') as f:
        content = f.read()
        f.write('\n在文件末尾添加一行。')
    

注意事项:

  • 文件关闭:使用 with 语句打开文件,可以确保在操作完成后文件自动关闭,无需手动调用 f.close()

  • 编码问题:在处理文本文件时,建议显式指定 encoding 参数,常用编码为 'utf-8',以避免编码错误。

  • 异常处理:在文件操作过程中,可能会遇到文件不存在、权限不足等错误,建议使用 try...except 进行异常捕获。

    try:
        with open('example.txt', 'r', encoding='utf-8') as f:
            content = f.read()
    except FileNotFoundError:
        print('文件未找到。')
    except IOError:
        print('文件读写错误。')
    
  • 路径问题:在指定文件路径时,要注意操作系统的差异。可以使用 os.path 模块来处理路径,或使用原始字符串避免转义字符。

    import os
    
    file_path = os.path.join('folder', 'example.txt')
    with open(file_path, 'r', encoding='utf-8') as f:
        content = f.read()
    

    或者:

    # 使用原始字符串
    file_path = r'C:\folder\example.txt'
    

在Python中,前缀r用于定义原始字符串(Raw String)。原始字符串中的反斜杠 () 被视为普通字符,而不是转义字符。这在处理包含许多反斜杠的字符串(如Windows文件路径、正则表达式等)时特别有用,可以避免反斜杠引发的转义序列问题。
总结:

  • open() 函数是文件操作的入口,用于打开文件并返回文件对象。
  • 根据需求选择合适的模式(mode)和编码(encoding)。
  • 使用 with 语句和异常处理,确保文件操作的安全和稳定。

标签:文件,encoding,python,模式,办公,打开,open,example
From: https://blog.csdn.net/qq_45993770/article/details/142589202

相关文章

  • 自动化办公-Python-os模块的使用
    os.path模块的使用在指定文件路径时,由于操作系统的差异,直接使用硬编码的路径可能会导致程序在不同平台上无法正常运行。为了解决这个问题,Python提供了os.path模块,它包含了一系列用于路径操作的函数,可以帮助您以跨平台的方式处理文件路径。为什么要使用os.path模块......
  • Python 迭代器双指针
    我们知道在cpp这种指针语言里面,双指针是这么写的:for(autoi=v.begin(),j=v.begin();j<v,end();j++){//dosomething...//updatepointeriwhile(cond){i++;}}对于py这样不带指针的,一般就只能这么写:i=0forjinrange(len(lst)):#do_something......
  • python爬虫案例——抓取三级跳转网页,实现逐页抓取,数据存入mysql数据库(10)
    文章目录1、目标任务2、网页分析3、完整代码1、目标任务目标站点:情话网(http://www.ainicr.cn/tab/)任务:抓取该网站下所有标签下的所有情话语句,并将其存入mysql数据库2、网页分析用浏览器打开网页,按F12或右键检查,进入开发者模式,在Network-Doc下找到网页的数......
  • PYTHON钢琴简谱播放器代码QZQ
    importtkinterastkimportpygame.midiimporttimeimportthreadingimportrandom初始化pygame.midipygame.midi.init()获取MIDI输出设备midi_out=pygame.midi.Output(0)乐器名称映射instrument_names={0:“大钢琴(声学钢琴)”,1:“明亮的钢琴”,2:......
  • python教程修订版
    9/23Inthiscourse,I'mgoingtoteachyoueverythingyouneedtoknowtogetstartedprogramminginPython.Now,Pythonisoneofthemostpopularprogramminglanguagesoutthere在众多的……中.Andit'sbyfar目前为止oneofthemostsõughtafter受欢迎......
  • 数据探索Python数据分析入门指南
    在数据驱动的商业环境中,数据分析已成为一项至关重要的技能。Python,以其简洁的语法和强大的数据处理库,成为了数据分析领域的首选语言。本文将为您提供一份Python数据分析的入门指南,帮助您开启数据探索之旅。为什么选择Python进行数据分析?易于学习:Python语法简洁,易于上手,适合初学者。......
  • python+vue中小学班级课外活动管理系统pycharm毕业设计项目_0390d
    目录解决的思路技术栈和环境说明python语言操作可行性性能/安全/负载方面具体实现截图框架介绍技术路线python-flask核心代码部分展示python-django核心代码部分展示详细视频演示源码获取解决的思路前端的数据收集及可视化研究,熟悉Django框架,python编程设计语法。......
  • Python数据分析入门教程
    在数据驱动的商业环境中,数据分析已成为一项至关重要的技能。Python,以其简洁的语法和强大的数据处理库,成为了数据分析领域的首选语言。本文将为您提供一份Python数据分析的入门指南,帮助您开启数据探索之旅。为什么选择Python进行数据分析?易于学习:Python语法简洁,易于上手,适合初学......
  • OpenCV(cv::multiply())
    目录1.函数定义2.功能说明3.示例3.1基础逐元素相乘3.2带缩放因子的逐元素相乘3.3处理不同数据类型4.注意事项5.高级用法5.1使用掩码进行选择性相乘总结cv::multiply()是OpenCV库中用于对两个数组(通常是图像)的对应元素进行逐元素相乘的函数。1.函数定义namespa......
  • 利用Python开发Exporter,集成Prometheus和Grafana对进程监控
    利用Python开发Exporter,集成Prometheus和Grafana对进程监控在现代软件开发和运维中,监控是确保系统稳定运行和快速响应问题的重要手段。Prometheus和Grafana的组合是监控领域的强大工具,它们能够收集、处理和展示各种指标数据。本文将介绍如何利用Python开发一个Exporter,通过Promet......