当前位置: 首页 > news >正文

【Python】文件及目录

文章目录

  • 概要
  • 一、文件对象的函数
    • 1.1 open()函数
    • 1.2 文件对象的函数
    • 1.3 with语句
  • 二、基于os和os.path模块的目录操作
  • 三、基于Pandas的文件处理
    • 3.1 Pandas读写各种类型文件
  • 其他章节的内容


概要

本文主要将了打开文件的函数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是一个简洁高效的上下文管理器,以后会知道,他除了能管理文件还能管理网络连接。他的基本语法如下:

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_csvto_csv读写CSV文件
read_excelto_excel读写Excel文件
read_jsonto_json读写JSON文件

3.1.2 Pandas读取文件函数的参数

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

其他章节的内容

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

http://www.lryc.cn/news/455781.html

相关文章:

  • OpenHarmony(鸿蒙南向开发)——标准系统方案之瑞芯微RK3566移植案例(下)
  • 霓虹灯数字时钟(可复制源代码)
  • 大模型微调技术之 LoRA:开启高效微调新时代
  • 【Vue】Vue2(2)
  • 如何实现一个基于 HTML+CSS+JS 的任务进度条
  • 学会流体力学,冬天洗澡再也不冷啦
  • WPF下使用FreeRedis操作RedisStream实现简单的消息队列
  • 踩坑NVTX
  • Ubuntu修改IP方法
  • C++——STL简介
  • [linux] 磁盘清理相关
  • 【笔记】DDD领域驱动设计
  • 用AI构建小程序需要多久?效果如何?
  • 深度学习的应用综述
  • whereis命令:查找命令的路径
  • 【ECMAScript 从入门到进阶教程】第四部分:项目实践(项目结构与管理,单元测试,最佳实践与开发规范,附录)
  • 算法讲解—最小生成树(Kruskal 算法)
  • 掌握 C# 多线程与异步编程
  • Angular 2 用户输入
  • 线程安全的单例模式 | 可重入 | 线程安全 |死锁(理论)
  • 解决方案:梯度提升树(Gradient Boosting Trees)跟GBDT(Gradient Boosting Decision Trees)有什么区别
  • 亚马逊国际商品详情API返回值:电商精准营销的关键
  • python爬虫 - 进阶requests模块
  • 代码随想录 103. 水流问题
  • 数据结构-排序1
  • Springboot 整合 durid
  • JVM 系列知识体系全面回顾
  • crossover软件如何安装程序 及最新图文案张教程
  • Python爬虫之正则表达式于xpath的使用教学及案例
  • Jenkins打包,发布,部署