编程小白的自学笔记十三(python办公自动化读写文件)

news2025/1/21 11:23:41

系列文章目录

编程小白的自学笔记十二(python爬虫入门四Selenium的使用实例二)

编程小白的自学笔记十一(python爬虫入门三Selenium的使用+实例详解)

编程小白的自学笔记十(python爬虫入门二+实例代码详解) 

编程小白的自学笔记九(python爬虫入门+代码详解) 


目录

系列文章目录

前言

一、什么是Python办公自动化

二、使用open方法读写文件

三、读取内容

1、f.read()方法 

 2、f.readline()方法

 3、readlines()方法

总结


前言

在自学笔记一的时候我已经学了文件的读写,那是学的基础,现在是开始学习办公自动化,要深入学习了。


一、什么是Python办公自动化

Python办公自动化是指通过编写程序来解决办公过程中所遇到的问题,例如 Excel、PPT、Word、邮件、文件处理、数据分析处理、爬虫等数据源,进行自动增删改查等操作,从而提高效率。

二、使用open方法读写文件

with open(文件名,w) as f:

很好理解,w的意思就是write(写)的意思,如果文件不存在就会创建一个新文件,然后写入;如果文件已经存在,新的内容写入会覆盖原来的内容。

还有w+参数,意思是可以读写,w是只能写不能读。

with open(文件名,r,encoding=UTF8) as f:

这个也很好理解,r的意思就是read(读)的意思,如果文件不存在就会报错。

这里还有一个参数a,应该是add的意思,也是写入,但是不会覆盖原内容,会在原内容后面进行追加。

三、读取内容

 按照上面代码打开文件后,我们读取文件需要调用read()方法。

1、f.read()方法 

f.read()方法是读取整个文件,以字符串的形式返回结果。可以加参数,例如f,read(10)表示返回前10个字符。 

 2、f.readline()方法

f.readline()方法是读取一行字符串,以字符串形式返回,这里也可以加参数,例如f.readline(10)表示返回改行前10个字符。

f.readline()调用一次是读取一行数据,那么怎么读取后面行数据呢?

要使用`readline()`读取文件的第二行数据,可以使用以下代码示例:

with open('file.txt', 'r') as f:
    first_line = f.readline()  # 读取第一行数据并忽略
    second_line = f.readline()  # 读取第二行数据
    print(second_line)

在这个示例中,我们打开了一个名为 "file.txt" 的文本文件,并使用只读模式('r')操作。然后,我们使用`readline()`函数两次进行读取。

第一次调用`readline()`用于读取第一行数据,但我们将其赋值给一个变量 `first_line` 并忽略它,因为我们只关心第二行数据。

第二次调用`readline()`用于读取第二行数据,并将其赋值给变量 `second_line`。然后,可以根据需要对其进行进一步处理。

最后,我们通过打印 `second_line` 将第二行的数据输出到控制台。

所以我们需要第几行的数据,我们就需要执行几次,非常不方便。

 3、readlines()方法

readlines()方法是读取整个文件,以列表的形式返回。这样我们就可以通过读取列表操作拿到我们想要行的数据。

readlines()方法也是有参数的,但是很多人都理解错误,例如百度搜索到的结果:

f.readlines(50)是一个文件操作中的函数调用,它的作用是读取文件中的内容,并返回一个由每行内容组成的列表。

其中,参数50表示读取文件的行数,具体意义取决于文件的内容和结构。如果文件包含超过50行的内容,那么读取的行数将不会限制在50行,而是会读取整个文件的内容。如果文件行数不足50行,则会读取文件中的所有行。

需要注意的是,f.readlines()函数通常用于读取文本文件(以文本形式存储的文件),而不适用于二进制文件(如图片、音频、视频等)。

以下是一个示例,展示了如何使用f.readlines(68)读取文件内容到列表中:

with open('file.txt', 'r') as f:
    lines = f.readlines(50)
    for line in lines:
        print(line)

在这个示例中,文件"file.txt"被打开,并以只读模式('r')进行操作。然后,f.readlines(50)会将文件的内容读取到列表lines中,每行内容作为一个元素。接着,通过遍历该列表,可以逐行输出或处理文件的内容。

请注意,如果不提供行数参数,即写成f.readlines(),函数默认会读取整个文件的内容并返回列表。

 以上都是互联网给出的答案,大家可以看到,文中的解释是参数表示读取的函数,其实不然,我们试试以下代码:

import os
with open('test.txt','w') as f:
    for i in range(79):
        f.write(f'{i}'* 68)
        f.write('\n')

with open('test.txt','r',encoding='UTF8') as f:
    for line in f.readlines(79):
        print(line)

 是不是应该输出79行代码,结果不是,输出结果为:

 

 可以看到只有2行代码。其实参数的意思还是表示字符数量,但是不是每行返回最多79个字符,而是表示返回总字符大于或等于79个字符的最小行,按照代码的例子就是第一行68个字符,小于79,那么再返回一行,68+68=136,大于79了,就不在返回下一行了,所以只返回2行。 


总结

Python读写文件的常用方法有以下几种:

1、使用open()函数打开文件,并指定打开模式(如'r'表示读取,'w'表示写入,'a'表示追加等)。

2、使用read()或readlines()函数读取文件内容。

3、使用write()或writelines()函数向文件中写入内容。

4、使用close()函数关闭文件。

5、使用with语句可以自动关闭文件,避免忘记关闭文件导致资源浪费。

6、在读写文件时,需要注意编码问题,尤其是在处理中文等非ASCII字符时。可以使用codecs模块来解决编码问题。

7、在读写二进制文件时,需要使用二进制模式('rb'和'wb')打开文件。

8、在读写大文件时,可以使用缓冲区来提高效率。

9、在读写文件时,需要注意文件路径的问题,尤其是在不同操作系统下路径的表示方式不同。可以使用os模块来处理文件路径。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/883775.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】IO多路转接——poll接口

目录 poll初识 poll函数 poll服务器 poll的优点 poll的缺点 poll初识 poll也是系统提供的一个多路转接接口。 poll系统调用也可以让我们的程序同时监视多个文件描述符上的事件是否就绪,和select的定位是一样的,适用场景也是一样的。 poll函数 po…

首起针对国内金融企业的开源组件投毒攻击事件

简述 2023年8月9日,墨菲监控到用户名为 snugglejack_org (邮件地址:SnuggleBearrxxhotmail.com)的用户发布到 NPM 仓库中的 ws-paso-jssdk 组件包具有发向 https://ql.rustdesk[.]net 的可疑流量,经过确认该组件包携带远控脚本&a…

Qt 之 QPushButton,信号与槽机制

文章目录 前言一、QPushButton二、信号与槽机制总结 前言 一、QPushButton 当我们开发基于Qt框架的图形用户界面(GUI)应用程序时,经常需要在界面上添加按钮来实现用户交互。Qt提供了一个名为 QPushButton 的类作为按钮控件的实现。QPushButt…

BIO、NIO和AIO

一.引言 何为IO 涉及计算机核心(CPU和内存)与其他设备间数据迁移的过程,就是I/O。数据输入到计算机内存的过程即输入,反之输出到外部存储(比如数据库,文件,远程主机)的过程即输出。 I/O 描述了计算机系统…

Steam 灵感的游戏卡悬停效果

先看效果&#xff1a; 再看代码&#xff08;查看更多&#xff09;&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Steam 灵感的游戏卡悬停效果</title><style>* {margin: …

云计算虚拟仿真实训平台

一、云计算虚拟仿真系统概述 云计算虚拟仿真系统是一种基于云计算技术和虚拟化技术的系统&#xff0c;用于实现各种仿真和模拟任务。它可以提供强大的计算能力和资源管理&#xff0c;为用户提供灵活、高效、可扩展的仿真环境。 该系统通常由一组服务器、网络和存储设备组成&am…

步入React正殿 - State进阶

目录 扩展学习资料 State进阶知识点 状态更新扩展 shouldComponentUpdate PureComponent 为何使用不变数据【保证数据引用不会出错】 单一数据源 /src/App.js /src/components/listItem.jsx 状态提升 /src/components/navbar.jsx /src/components/listPage.jsx src/A…

【AIGC】 快速体验Stable Diffusion

快速体验Stable Diffusion 引言一、安装二、简单使用2.1 一句话文生图2.2 详细文生图 三、进阶使用 引言 stable Diffusion是一款高性能的AI绘画生成工具&#xff0c;相比之前的AI绘画工具&#xff0c;它生成的图像质量更高、运行速度更快&#xff0c;是AI图像生成领域的里程碑…

【0815作业】搭建select的TCP客户端、poll客户端、tftp文件上传

IO多路复用&#xff08;重点&#xff01;&#xff01;&#xff01;&#xff09; 进程中如果同时需要处理多路输入输出流&#xff0c;在使用单进程单线程的情况下&#xff0c;同时处理多个输入输出请求。在无法用多进程多线程&#xff0c;可以选择用IO多路复用&#xff1b;由于不…

新手开抖店多久可以出单?

​开抖店是一种越来越流行的创业方式&#xff0c;在社交媒体平台上开店销售各种商品&#xff0c;比如服装、配饰、美妆和家居用品等等。对于新手来说&#xff0c;他们可能会很关心自己开抖店能够多久出单。虽然这个问题没有一个固定的答案&#xff0c;但是以下是一些关键的运营…

立中转债上市价格预测

立中转债 基本信息 转债名称&#xff1a;立中转债&#xff0c;评级&#xff1a;AA-&#xff0c;发行规模&#xff1a;8.998亿元。 正股名称&#xff1a;立中集团&#xff0c;今日收盘价&#xff1a;23.46元&#xff0c;转股价格&#xff1a;23.57元。 当前转股价值 转债面值 /…

synchronized 底层是如何实现的 ?

目录 1. synchronized 底层是如何实现的 2. 监视器的执行流程 1. synchronized 底层是如何实现的 synchronized 底层是通过 JVM 内置的 Monitor 监视器实现的。 以下代码&#xff0c;查看它运行时的字节码文件&#xff1a; public class SynchronizedMonitorDemo {public …

MySQL 主从复制遇到 1590 报错

作者通过一个主从复制过程中 1590 的错误&#xff0c;说明了 MySQL 8.0 在创建用户授权过程中的注意事项。 作者&#xff1a;王祥 爱可生 DBA 团队成员&#xff0c;主要负责 MySQL 故障处理和性能优化。对技术执着&#xff0c;为客户负责。 本文来源&#xff1a;原创投稿 爱可生…

【图像分类】理论篇(4)图像增强opencv实现

随机旋转 随机旋转是一种图像增强技术&#xff0c;它通过将图像以随机角度进行旋转来增加数据的多样性&#xff0c;从而帮助改善模型的鲁棒性和泛化能力。这在训练深度学习模型时尤其有用&#xff0c;可以使模型更好地适应各种角度的输入。 原图像&#xff1a; 旋转后的图像&…

当Visual Studio遇到 “当前不会命中断点.还没有为该文档加载任何符号“的情况

1.配置项目调试路径&#xff1a; 2.问题解决方案&#xff1a; VS配置调试路径不是默认路径时&#xff0c;需要看生成的文件是否在配置路径内&#xff0c;如果不在的话&#xff0c;可能发生"当前不会命中断点.还没有为该文档加载任何符号"的情况&#xff1b; 右键项…

【贪心】CF1779 D

不会1700 Problem - 1779D - Codeforces 题意&#xff1a; 思路&#xff1a; 首先手推样例&#xff0c;可以发现一些零碎的性质&#xff1a; 然后考虑如何去计算贡献 难点在于&#xff0c;当一个区间的两端是区间max时&#xff0c;怎么去计算贡献 事实上&#xff0c;只需要…

input输入框自动填充后消除背景色

一般自动填充后会有一个突出的浅蓝色背景&#xff0c;一定也不好看&#xff0c;所以想把它去掉&#xff1a; 这个时候&#xff0c;就要用到浏览器的样式设置了&#xff1a; input:-webkit-autofill {background: transparent;transition: background-color 50000s ease-in-ou…

浅谈5G技术会给视频监控行业带来的一些变革情况

5G是第五代移动通信技术&#xff0c;能够提供更高的带宽和更快的传输速度&#xff0c;这将为视频技术的发展带来大量机会。随着5G技术的逐步普及与商用&#xff0c;人们将能够享受到更加流畅的高清视频体验&#xff0c;并且5G技术还拥有更低的延迟和更高的网络容量。这些优势不…

Android Shape 的使用

目录 什么是Shape? shape属性 子标签属性 corners &#xff08;圆角&#xff09; solid &#xff08;填充色&#xff09; gradient &#xff08;渐变&#xff09; stroke &#xff08;描边&#xff09; padding &#xff08;内边距&#xff09; size &#xff08;大小…

校园外卖小程序怎么做

校园外卖小程序是为满足校园内学生和教职员工的外卖需求而开发的一种应用程序。它涵盖了从用户端、商家端、骑手端、电脑管理员到小票打印、多商户入驻等多个方面的功能&#xff0c;以下将逐一介绍。 1. 用户端功能&#xff1a;校园外卖小程序为用户提供了便捷的订餐和外卖服务…