文件处理查询(Windows文件处理查询 非Linux)

python数据分析学习笔记

第9节

一、文件操作相关模块概述

名称说明
io 模块文件流的输入和输出操作 input output
os 模块基本操作系统功能,包括文件操作
glob 模块查找符合特定规则的文件路径名
fnmatch 模块使用模式来匹配文件路径名
fileinput 模块处理多个输入文件
处理多个输入文件用于文件的比较
cvs 模块用于 csv 文件处理
pickle 和 cPickle用于序列化和反序列化
xml 包用于 XML 数据处理
bz2、gzip、zipfile、zlib、tarfile用于处理压缩和解压缩文件(分别对应不同的算法)

二、创建文件对象 open()

文件编写的基本操作:
①创建文件对象
②写入数据
③关闭文件对象

模式描述
r读 read 模式
w写 write 模式。如果文件不存在则创建;如果文件存在,则重写新内容;
a追加 append 模式。如果文件不存在则创建;如果文件存在,则在文件末尾追加内容
b二进制 binary 模式(可与其他模式组合使用)
+读、写模式(可与其他模式组合使用)

三、write()/writelines()写入数据

write(a):把字符串 a 写入到文件中
writelines(b):把字符串列表写入文件中,不添加换行符
执行代码:

f = open(r"d:\bb.txt","w",encoding="utf-8") 
s = ["喝一壶\n","一户\n","一壶\n"] f.writelines(s) 
f.close()

四、close()关闭文件流

调用close()时,把缓冲区数据写入文件,在关闭文件,释放文件对象,也可以直接用flush()

五、with 语句(上下文管理器)

with 关键字可以自动管理上下文资源,不论什么原因跳出with块,都能确保文件正确的关闭。

s = ["喝一壶\n","一户\n","一壶\n"]
with open(r"d:\bb.txt","w") as f: 				
f.writelines(s)

六、文本文件的读取

1、 read([size])
从文件中读取 size 个字符,并作为结果返回。如果没有 size 参数,则读取整个文件。读取到文件末尾,会返回空字符串。
2、readline()
读取一行内容作为结果返回。读取到文件末尾,会返回空字符串。
3、readlines()
文本文件中,每一行作为一个字符串存入列表中,返回该列表。

七、文件对象的常用属性和方法

文件对象属性

属性说明
name返回文件的名字
mode返回文件的打开模式
closed若文件被关闭则返回 True

文件对象打开方式

模式说明
r读模式
w写模式
a追加模式
b二进制模式(可与其他模式组合)
+读写模式(可以其他模式组合)

文件对象常用方法

方法名说明
read([size])从文件中读取 size 个字节或字符的内容返回。若省略[size],则读 取到文件末尾,即一次读取文件所有内容
readline()从文本文件中读取一行内容
readlines()readlines() 把文本文件中每一行都作为独立的字符串对象,并将这些对象放入 列表返回
write(str)将字符串 str 内容写入文件
writelines(s)将字符串列表 s 写入文件文件,不添加换行符
seek(offset把文件指针移动到新的位置,offset 表示相对于 whence 的多少个
[,whence])字节的偏移量; offset:off 为正往结束方向移动,为负往开始方向移动 whence 不同的值代表不同含义: 0: 从文件头开始计算(默认值) 1:从当前位置开始计算 2:从文件尾开始计算
tell()返回文件指针的当前位置
truncate([size])不论指针在什么位置,只留下指针前 size 个字节的内容,其余全 部删除; 如果没有传入 size,则当指针当前位置到文件末尾内容全部删除
flush()把缓冲区的内容写入文件,但不关闭文件
close()把缓冲区内容写入文件,同时关闭文件,释放文件对象相关资源

八、pickle序列化

序列化指的是:
将对象转化成“串行化”数据形式,存储到硬盘或通过网络传输到其他 地方。
反序列化:相反的过程,将读取到的“串行化数据”转化成对象。
序列化的使用:
pickle.dump(obj, file) :obj 就是要被序列化的对象,file 指的是存储的文件。
pickle.load(file): 从 file 读取数据,反序列化成对象。

九、os 和 os.path 模块

1、os 模块可以帮助我们直接对操作系统进行操作。

os.system 可以帮助我们直接调用系统的命令

import os 
os.system("notepad.exe")

os.system 调用 windows 系统中 ping 命令

import os 
os.system("ping www.baidu.com")

os.startfile:直接调用可执行文件

import os 
os.startfile(r"C:\Program Files (x86)\Tencent\WeChat\WeChat.exe")

os模块常用操作:

方法名描述
remove(path)删除指定的文件
rename(src,dest)重命名文件或目录
stat(path)返回文件的所有属性
listdir(path)返回 path 目录下的文件和目录列表
mkdir(path)创建目录
makedirs(path1/path2/path3/… )创建多级目录
rmdir(path)删除目录
removedirs(path1/path2…)删除多级目录
getcwd()返回当前工作目录:current work dir
chdir(path)把 path 设为当前工作目录
walk()遍历目录树
sep当前操作系统所使用的路径分隔符
2、os.path 模块

os.path模块常用操作:

方法描述
isabs(path)判断 path 是否绝对路径
isdir(path)判断 path 是否为目录
isfile(path)判断 path 是否为文件
exists(path)判断指定路径的文件是否存在
getsize(filename)返回文件的大小
abspath(path)返回绝对路径
dirname§返回目录的路径
getatime(filename)返回文件的最后访问时间
getmtime(filename)返回文件的最后修改时间
walk(top,func,arg)递归方式遍历目录
join(path,*paths)连接多个 path
split(path)对路径进行分割,以列表形式返回
splitext(path)path) 从路径中分割文件的扩展名

十、walk()递归遍历所有文件和目录

os.walk()方法:
返回一个 3 个元素的元组,(dirpath, dirnames, filenames)
dirpath:要列出指定目录的路径
dirnames:目录下的所有文件夹
filenames:目录下的所有文件

十一、shutil 模块(拷贝和压缩)

作用:
主要用来做文件和文件夹的拷贝、移动、删除等;还可以做文件和文件的压缩解压操作。
os提供了目录和文件的操作。
shutil增加了移动、赋值、压缩。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值