Python基础——Visual Studio版本——第五章 文件I/O
📋前言📋
💝博客:【红目香薰的博客_CSDN博客-计算机理论,2022年蓝桥杯,MySQL领域博主】💝
✍本文由在下【红目香薰】原创,首发于CSDN✍
🤗2022年最大愿望:【服务百万技术人次】🤗
第五章 文件I/O
需要升级环境的执行即可
目录
1、Python os.chmod() 方法
path -- 文件名路径或目录路径。
flags -- 可用以下选项按位或操作生成, 目录的读权限表示可以获取目录里文件名列表, ,执行权限表示可以把工作目录切换到此目录 ,删除添加目录里的文件必须同时有写和执行权限 ,文件权限以用户id->组id->其它顺序检验,最先匹配的允许或禁止权限被应用。
权限列表
添加一个test.txt文本文件用作测试
修改权限编码——只读权限
修改只读权限
只读提示
修改回全部权限
执行
写入测试
可以看到能写内容了,权限测试完毕。
2、OS
Python程序使用自带的os模块操作目录,os模块包含的函数见下表。
方法 |
描述 |
os.getcwd() |
获取当前工作目录,即当前Python脚本工作的目录路径 |
os.listdir() |
返回指定目录下的所有文件和目录名 |
os.remove() |
用来删除一个文件 |
os.removedirs(r"c:\python") |
删除多个目录 |
os.path.isfile() |
判断给出的路径是否是一个文件 |
os.path.isdir() |
检验给出的路径是否是一个目录 |
os.path.dirname() |
获取路径名 |
os.path.basename() |
获取文件名 |
os.path.split() |
返回一个路径的目录名和文件名 |
os.path.splitext() |
分离扩展名 |
os.path.basename() |
获取文件名 |
os.rename(oldFileName,newFileName) |
重命名 |
os.makedirs(r"c:\python\test") |
创建多级目录 |
os.mkdir("test") |
创建单个目录 |
os.chmod(file) |
修改文件权限与时间戳 |
os.exit() |
终止当前进程 |
os.path.getsize(filename) |
获取文件大小 |
我写了个绝对路径的测试:
修改名称是没有返回值的,没有返回值的内容输出的时候显示【None】
3、遍历文件夹
4、文件读取
语法:
参数说明:
模式列表:
模式 |
描述 |
r |
以只读方式打开文件。文件的指针将会放在文件的开头,这是默认模式 |
rb |
以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头,这是默认模式 |
r+ |
打开一个文件用于读写。文件指针将会放在文件的开头 |
rb+ |
以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头 |
w |
打开一个文件只用于写入。如该文件已存在,则将其覆盖。如该文件不存在,创建新文件 |
w+ |
打开一个文件用于读写。如该文件已存在,则将其覆盖。如该文件不存在,创建新文件 |
a |
打开一个文件用于追加。如该文件已存在,文件指针将会放在文件的结尾,即新的内容将会被写入到 已有内容之后。如该文件不存在,创建新文件进行写入 |
a+ |
打开一个文件用于读写。如该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。 如该文件不存在,创建新文件用于读写 |
ab+ |
以二进制格式打开一个文件用于追加。如该文件已存在,文件指针将会放在文件的结尾。 如该文件不存在,创建新文件用于读写 |
文件对象操作列表
file.closed |
如果文件已被关闭,返回True,否则返回False |
file.mode |
返回被打开文件的访问模式 |
file.name |
返回文件的名称 |
file.softspace |
如果用print输出后,必须接一个空格符,即返回false,否则返回true |
读取示例:
使用read进行读取
read是有()的,如果没有添加括号则会爆出以下的错误提示
built-in method readline of _io.TextIOWrapper object at 0x000001E8D5B6BC88
正确编码测试:
一般我们读取文件都使用utf-8的模式,但是很多默认的文件格式需要【gbk】的方式进行读取,例如咱们如果没有单独修改文件的编码模式我们需要通过gbk的方式进行读取,如果我们修改文件编码格式utf-8就可以使用utf-8进行读取了。
修改步骤
读取测试
写入示例:
这里使用的是w+,会替换内容,如果使用【a+】就会变成累加
5、JSON序列化与反序列化
如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。JSON不仅是标准格式,并且比XML更快,而且可以直接在Web页面中读取,非常方便。
JSON表示的对象就是标准的JavaScript语言的对象,JSON和Python内置的数据类型对应如下:
对比示例:
JSON类型 | Python类型 |
---|---|
{} | dict |
[] | list |
"string" | str |
1234.56 | int或float |
true/false | True/False |
null | None |
Python内置的json
模块提供了非常完善的Python对象到JSON格式的转换。我们先看看如何把Python对象变成一个JSON:
序列化示例1:dict(map)
从以上的实验中可以看到json序列化与反序列化的过程。
6、文件I/O(XML)
XML虽然比JSON复杂,在Web中应用也不如以前多了,不过仍有很多地方在用,所以,有必要了解如何操作XML。
XML(Extensible Markup Language,可扩展标记语言)与JSON数据格式类似,用于提供数据表述格式,适用于不同应用程序间的数据交换。 XML是一套定义语义标记的规则,同时也是用于定义其他标识语言的元标识语言。 Python有三种解析XML的方式,分别为SAX、DOM以及ElementTree。
现阶段主要是对XML做读取操作:
XML结构示例:
读取示例:
7、CSV前言
CSV(Comma-Separated Values,中文逗号分隔值或字符分隔值)是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用,也应用于程序之间转移表格数据。
CSV并不是一种单一的、定义明确的格式,泛指具有以下特征的任何文件: 纯文本,使用某个字符集,如ASCII、Unicode、EBCDIC或GB2312。 由记录组成(典型的是每行一条记录)。 每条记录被分隔符分隔为字段(典型分隔符有逗号、分号或制表符;有时分隔符可以包括可选的空格)。 每条记录都有同样的字段序列。
数据格式
未修改编码格式就是gbk的格式
写入操作:
8、EXCEL操作
Python读写Excel文档需要安装和使用xlrd模块,Excel文件写入需要使用xlwt模块。
写入XLS
这里用到的包是:【import xlwt】
需要进行下载:【pip install xlwt】
我这安装过了啊。
执行完成后发现有test.xls文件
读取XLS
这里用到的包是:【import xlrd】
需要进行下载:【pip install xlrd】
9、try异常处理
当我们认为某些代码可能会出错时,就可以用try
来运行这段代码,如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处理代码,即except
语句块,执行完except
后,如果有finally
语句块,则执行finally
语句块,至此,执行完毕。
语法:
示例:
到这里Python的I/O处理就讲解完毕了。
- 点赞
- 收藏
- 关注作者
评论(0)