【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 字符编码方式

其他章节的内容

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

相关推荐
青山如墨雨如画2 小时前
【北邮-无线通信中的人工智能】物理层技术中AI的应用实践:基于KNN的调制识别(1)理论基础
人工智能·python·机器学习·matlab·jupyter
MATLAB代码顾问2 小时前
Python Matplotlib数据可视化实战指南
python·信息可视化·matplotlib
AI 编程助手GPT3 小时前
用 Python 做一个世界杯赛前分析脚本:以巴西 vs 摩洛哥为例
开发语言·网络·人工智能·python·chatgpt
万事大吉CC3 小时前
Python 笔试输入模板总结
python·算法
lihao lihao3 小时前
Linux信号
开发语言·c++·算法
Java患者·3 小时前
《Python 人脸识别入门实践:从人脸检测到人脸比对完整实现》
开发语言·python·opencv·目标检测·计算机视觉·目标跟踪·视觉检测
ceclar1233 小时前
C# 的任务并行库(TPL)
开发语言·c#·.net
宸丶一3 小时前
Day 10:LangGraph - Agent 的图执行引擎
java·windows·python
快乐的哈士奇3 小时前
【Next.js实战①】Gmail API 按柜号检索邮件:OAuth 双 Cookie 与搜索 Fallback
开发语言·javascript·ecmascript
weixin_307779133 小时前
Python写入Shell文件使用Linux系统的换行符
linux·开发语言·python·自动化