【Python】文件及目录

news/2024/10/8 22:52:35/

文章目录

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

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_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.ppmy.cn/news/1536340.html

相关文章

[大语言模型-算法优化] 微调技术-LoRA算法原理及优化应用详解

[大语言模型-算法优化] 微调技术-LoRA算法原理及优化应用详解 前言: 古人云: 得卧龙者,得天下。 然在当今大语言模型流行的时代,同样有一句普世之言: 会微调技术者,得私域大模型部署之道! 在众多微调技术中,LoRA (…

前端编程艺术(4)---JavaScript进阶(vue前置知识)

目录 1.变量和常量 2.模版字符串 3.对象 4.解构赋值 1.数组的解构 2.对象的解构 5.箭头函数 6.数组和对象的方法 7.扩展运算符 8.Web存储 9.Promise 10.AsyncAwait 11.模块化 1.变量和常量 JavaScript 中的变量和常量是用于存储数据的标识符。变量可以被重新赋值&am…

力扣977.有序数组的平方

题目链接:977. 有序数组的平方 - 力扣(LeetCode) 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums [-4,-1,0,…

深入理解Web浏览器与服务器的连接过程

目录 1. 域名解析:找到地址 2. TCP连接:建立通信 3. HTTP请求:点菜 4. 服务器处理请求:厨房做菜 5. HTTP响应:上菜 6. 客户端接收响应:品尝美食 7. 关闭TCP连接:吃完离开 8. 持久连接&a…

WPF下使用FreeRedis操作RedisStream实现简单的消息队列

Redis Stream简介 Redis Stream是随着5.0版本发布的一种新的Redis数据类型: 高效消费者组:允许多个消费者组从同一数据流的不同部分消费数据,每个消费者组都能独立地处理消息,这样可以并行处理和提高效率。 阻塞操作:消费者可以设置阻塞操作,这样它们会在流中有新数据…

代码随想录 103. 水流问题

103. 水流问题 #include<bits/stdc.h> using namespace std;void dfs(vector<vector<int>>& mp, vector<vector<int>>& visit, int y, int x){if (visit[y][x] 1) return;visit[y][x] 1;if (y > 0){if (mp[y][x] < mp[y - 1][x…

占位,凑满减

占位&#xff0c;凑满减

OpenCV马赛克

#马赛克 import cv2 import numpy as np import matplotlib.pyplot as pltimg cv2.imread(coins.jpg,1) imgInfo img.shape height imgInfo[0] width imgInfo[1]for m in range(200,400): #m,n表示打马赛克区域for n in range(200,400):# pixel ->10*10if m%10 0 and …