首页 > 编程语言 >Python文件操作和异常处理

Python文件操作和异常处理

时间:2023-11-07 16:33:05浏览次数:44  
标签:文件 wb Python 异常 read ws file open

记录2023.11.7学习

文件操作

文件

计算机处理信息,需要长久保存,使用文件来进行处理。

按照内部数据的组织形式,分为:文本文件和二进制文件两类。

文件分类

文本文件

若干行以编码存储的字符组成。通常每行以换行符结尾。

二进制文件

除了文本文件之外的文件都称为二进制文件。以字节串形式存储,打开二进制文件要用相关软件来进行解码后才能读取

文件常用操作

文件打开open()

变量名 =  open(r'文件名','打开模式')
f = open(r'filename.txt','r')

文件打开模式

描述

r

只读模式(文件指针指向文件头,不存在抛出异常 )

w

写模式,文件指针指向文件头,若文件已存在,则覆盖写入,若不存在,则创建

a

追加模式,文件指针指向文件尾,在文件尾部写入数据,不覆盖文件原有内容

+

读/写模式,与r/w/a/x一同使用,在原有功能基础上增加同时读/写功能

b

二进制模式,可与其他模式组合使用(rb,wb,ab)

文件关闭

注意:使用open打开文件的话为了安全起见使用完文件后要关闭文件

文件变量名.close()

文件的读/写

读取


read()

一次读取完文件所有内容,返回字符串

read(szie)

从文件中读取size个字节(python2)字符(python3)

readline()

读取一行内容,返回

readlines()

将文件每一行作为字符串作为元素存入列表中,返回列表

seek(offset)

将文件指针移到指定位置,offset值:0文件开头,1当前位置,2文件结尾

写入


write(test)

将test写入文件,test为字符串

wirtelinues(test)

将元素全为字符串的列表写入文件,不添加换行符

f = open('filename.txt','w')
f.write('hellofile')
f.close()

f = open('filename.txt','r')
file5 = f.read(5) # hello
filenext = f.read() # file
f.close()

with

无论如何都确保文件被正常关闭的语句with

with open('文件名.txt','r') as file:
    for i in file.readlines():
        # 原来可以直接在for循环的时候就使用readlines方法,
        # 不用单独赋值一个变量
        print(i)

openpyxl库操作

openpyxl是一个读/写excel2010的库,主要处理xlsx的文档,能同时读取和修改excel文档。

创建excel文件

导入Workbook类,创建对象

from openpyxl import Workbook
wb = Workbook()
# 返回第一张表
ws = wb.worksheets[0]

属性

描述

active

获取当前获取的worksheet

worksheets

以列表的形式返回所有的worksheet(表格)

read_only

判断是否已read_only模式打开excel文档

sheetnames

获取工作簿中的表(列表)的名称

添加数据

row = [数据,字符串]
ws.append(row)

保存文件

wb.save(r"路径名+文件名+后缀名")

读取excel文件

导入load_workbook类

from openpyxl import load_workbook
wb = load_workbook(r"路径+文件名+后缀名")
ws = wb.worksheet[0]
获取单元格内容
a1 = ws['A1'].value
单元格赋值
# 直接赋值
ws['A1'] = 10
# 使用cell()函数赋值
ws.cell(row=2,column=1,value=20)
# 第二行,第一列,值为20
获取行和列
# 获取有效的数据行数和列数
ws.max_row
ws.max_column
遍历所有单元格
# 双重循环遍历打印所有单元格的值
for r in range(ws.max_row):
    for c in range(ws.max_column):
        print(ws.cell(row=r+1,column=c+1).value)

os库操作

os库提供文件与文件夹操作方法

listdir()方法

用于返回指定的文件夹包含的文件或文件夹的名字的列表,列表元素为字符串

# 列出指定路径下的所有文件和文件夹
import os
path = r"路径"
filelist = os.listdir(path)
for file in filelist:
    print(file)
# 列出当前路径下的所有文件和文件夹
import os
filelist = os.listdir(".")
for file in filelist:
    print(file)















标签:文件,wb,Python,异常,read,ws,file,open
From: https://blog.51cto.com/u_16286833/8236664

相关文章

  • Windows编程之文件映射
    一、文件映射概述内存映射文件:文件映射可以用于将磁盘上的文件映射到内存中。这样,文件的内容可以直接从内存中读取或写入,而不必通过磁盘I/O进行数据交换。这对于处理大型文件或需要频繁读写的文件非常有用,可以提高性能。进程间通信:文件映射也可用于进程间通信(IPC),允许不同进......
  • 记录日志文件 日志文件的内容以Json格式保存到txt文件中
    封装一个方法,传不同的参数,记录不同类型的日志文件,并将大的日志内容,以Json的格式,保存值txt日志文件1.记录操作日志1//记录操作日志2varKeyWord="导入->编辑预算";3newLogService(AccountId).CreateBudgetLog(Common.JsonHelper.ObjToJ......
  • python 播放语音使用 playsound -注意事项
    https://github.com/TaylorSMarks/playsoundpipinstallplaysound>>>fromplaysoundimportplaysound>>>playsound('/path/to/a/sound/file/you/want/to/play.mp3')try:playsound("test.wav")exceptExceptionase:p......
  • PySpark判断Hdfs文件路径是否存在
    背景从ScalaSpark代码转PySpark代码,同时实现连续读多个文件,避免因某些路径不存在导致程序终止。在Scala的Spark中可以直接导下面两个模块的包importorg.apache.hadoop.conf.Configurationimportorg.apache.hadoop.fs._然后调用方法就可以实现对hdfs的文件判断了valfs=......
  • 如何使用git将某个文件回退到历史版本
    1.查看提交历史gitlogcommit4fe5108e0ca86d439f0da61751fac5845ec64f5c3commit38f9efd1f004996330a78c4b78372ba7c37469892commit5617205b96685ee157b67f3d66c71aa24cc378601会出现一些commitid2.找到需要回退的文件路径,如api/v2/s.php3.开始回退,要把api/v......
  • BindException、ConstraintViolationException、MethodArgumentNotValidException入参
    Springvalidation验证框架注解Springvalidation验证框架提供了大量接口入参检验注解,注意三个非空注解:@NotNull:验证对象是否不为null,无法查检长度为0的字符串@NotBlank:检查约束(字符串)是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格@NotEmpty:检查(集合)......
  • selenium等待元素加载,元素操作,执行js,切换选项卡,前进后退,异常处理,登录cnblogs,抽
    1selenium等待元素加载......
  • python虚拟环境的使用笔记
    方法一:在后台手动安装1、输入命令:pip3installvirtualenv2、指定目录:cd....;然后输入:virtualenvenv_django(创建虚拟环境) 3、激活该虚拟环境:      windows进到目录里,的Script文件夹输入:activate       linux:soruseenv1/Script/activate ......
  • python初学者学习笔记-第五章-函数
    chapter5/函数5.1函数基础5.1.1函数形式函数是可实现一个或多个功能的代码块;函数的特点:重用性、模块化;Python的内置函数,如print()、len()、min()、max()等;同时,我们也可以自定义函数;5.1.2函数调用参数是函数重要组成部分,python的参数灵活多样;参数类型:默认参数,关键字......
  • 在树莓派上部署 NFS 文件存储服务器
    有时候我们在需要在自己的电脑与树莓派或树莓派与树莓派之间进行文件共享、传输。网络文件系统(NetworkFileSystem)应运而生,NFS是由SUN公司研制的UNIX表示层协议(Presentationlayerprotocol),可以让使用者访问网络上别处的文件就像在使用自己的计算机一样。NFS的搭建过程也......