【Python】文件及目录

文章目录


概要

本文主要将了打开文件的函数open()的参数,以及文件对象的函数,基于Python的os模块对目录进行操作,还有Pandas的基础知识。


一、文件对象的函数

1.1 open()函数

将某一文本文件打开为txtFile:

txtFile = open(filename, mode, buffering=-1, ecoding=None)

filename是文件名,也就是说当文本文件与py文件在同一目录下时如此打开,在不同目录下时文件名应该是文本文件的完整路径。mode是打开模式由两个字母组成,第一个字母是操作模式,第二个是文件打开类型。buffering是缓冲策略,负数表示按系统默认,0表示不缓存,1表示缓存,其他正整数指定缓冲区的大小。ecoding是文件的编码形式。文件打开模式字母意义如下:

字母 代表含义
" r " 只读模式(默认)
" w " 覆写模式(没有这个文件则创建,有则覆盖)
" a " 追加模式(没有这个文件则创建,有则追加内容)
" + " 与上面三个字母配合,表示可读可写
" t " 文本类型
" b " 二进制类型

1.2 文件对象的函数

函数 意义
open() 打开文件
resd(size) 以指定字节数读取,没有或为负数则读取全部内容
resdline() 读取整行
resdlines() 读取全部行并返回列表
write(s) 把字符串s写入文件,默认编码是utf-8 windows的默认编码是GBK,用ecoding="GBK"
writelines(s) 向文件写入元素全为字符串的列表,如需换行需自己写入换行符
seek(off, whence=0) 设置文件读写当前位置
tel() 返回文件当前读写位置
close() 关闭文件

1.3 with语句

在每次完成文件的操作后都需要调用close()函数来关闭文件,防止资源占用等问题,但手动调用太麻烦,可以使用with来代替。with是一个简洁高效的上下文管理器,以后会知道,他除了能管理文件还能管理网络连接。他的基本语法如下:

python 复制代码
with open() as file:	# file可以是任何名字用来表示后续在with里面对文件的操作              
	pass

二、基于os和os.path模块的目录操作

以下函数的参数除非标注均为存文件路径的变量,可以是绝对路径也可以是相对的。

函数 意义
os.listdir() 返回文件绝对路径
os.getcwd() 返回当前工作目录
os.walk(top) 从top目录开始遍历子目录及文件名,返回当前遍历到的目录路径,当前目录的子目录名,当前目录的下的文件
os.path.exists() 判断文件是否存在
os.path.join(path, name) 拼接文件路径
os.path.splitext() 返回文件名和扩展名
os.path.basename() 提取文件名
os.path.diename() 提取文件路径

三、基于Pandas的文件处理

3.1 Pandas读写各种类型文件

3.1.1 Pandas对文件读取的函数

读取函数 写入函数 文件类型
read_csv to_csv 读写CSV文件
read_excel to_excel 读写Excel文件
read_json to_json 读写JSON文件

3.1.2 Pandas读取文件函数的参数

参数 含义
sep 或 delimiter 列分割符
header 列名,如果文件中已经有列名则传None
index_col 作为索引的列名
skiprows 要跳过的文件头行数
na_values 用于处理缺失数据的字符串
encoding 字符编码方式

其他章节的内容

序列
集合与字典
函数
模块和包
异常
文件
类

相关推荐
宿州派大星19 分钟前
Python实战:PyQt5 + OpenCV + Dlib 打造AI桌面应用
人工智能·python·qt
承渊政道1 小时前
【从零开始大模型开发与微调:基于PyTorch与ChatGLM】(开源大模型ChatGLM高级定制化应用实战)
人工智能·pytorch·python·llm·模型微调·glm
Joy T3 小时前
Agent 确定性上下文设计:从 Prompt 参数注入到能力分层
java·开发语言·微服务·架构·prompt·agent context
专注仿真6 小时前
引擎扩展性与集成设计深度剖析:从 14 个扩展点到 DIS→HLA 演进之路
开发语言·算法·仿真引擎·推演引擎
Best-Wishes7 小时前
科来网络分析系统(技术交流版)使用说明书
开发语言·junit·php
代码不停7 小时前
自动化测试(java)
java·开发语言·selenium·自动化
Smoothcloud润云8 小时前
PyTorch大模型权重加载与启动耗时优化实战:定位磁盘、内存与显存瓶颈
人工智能·pytorch·python·深度学习·gpu算力
databook8 小时前
从循环到向量化:NumPy提速的7个关键思维
python·数据分析·numpy
棉猴8 小时前
玩游戏学Python1-Python和pgzero库的安装
python·pygame·玩游戏·pgzero·pgzrun
诺伦9 小时前
GEO优化数据实证:78%引用流向官网的机制拆解与小品牌三步管线实战教程 | RiseClaw玄策
python·seo·geo·内容营销·ai搜索