当前位置:
首页 > 编程开发 > Python基础教程 >
-
python基础教程之python基础(10):文件操作
本站最新发布 Python从入门到精通|Python基础教程
试听地址 https://www.xin3721.com/eschool/pythonxin3721/
试听地址 https://www.xin3721.com/eschool/pythonxin3721/
1. 初识文件操作
使⽤python来读写⽂件是非常简单的操作。我们使⽤open()函数来打开⼀个⽂件,获取到⽂
件句柄,然后通过⽂件句柄就可以进⾏各种各样的操作了,根据打开⽅式的不同能够执⾏的操
作也会有相应的差异。
打开⽂件的⽅式: r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b, a+b 默认使⽤的是r(只读)模式
回到顶部(go to top)
2. 只读操作(r,rb)
- f = open("护⼠少妇嫩模.txt",mode="r", encoding="utf-8")
- content = f.read()
- print(content)
- f.close()
需要注意encoding表⽰编码集,根据⽂件的实际保存编码进⾏获取数据,对于我们⽽⾔,更
多的是utf-8.
rb:读取出来的数据是bytes类型,在rb模式下,不能选择encoding字符集。
- f = open("护⼠少妇嫩模.txt",mode="rb" )
- content = f.read()
- print(content)
- f.close()
- 结果:
- b'\xe6\xaf\x85\xe5\x93\xa5, \xe5\xa4\xaa\xe7\x99\xbd,
- wuse\n\xe5\x91\xb5\xe5\x91\xb5\n\xe6\x97\xa5\xe5\xa4\xa9'
rb的作⽤: 在读取非⽂本⽂件的时候,比如读取MP3、图像、视频等信息的时候就需要⽤到rb。因为这种数据是没办法直接显⽰出来的,在后⾯我们⽂件上传下载的时候还会⽤到,还有,我们看的直播,实际上都是这种数据。
绝对路径和相对路径:
1. 绝对路径:从磁盘根⽬录开始⼀直到⽂件名。2. 相对路径:同⼀个⽂件夹下的⽂件,相对于当前这个程序所在的⽂件夹⽽⾔,如果在同⼀个⽂件夹中,则相对路径就是这个⽂件名,如果在上⼀层⽂件夹,则要../。
我更推荐⼤家使⽤相对路径,因为在我们把程序拷⻉给别⼈使⽤的时候,直接把项⽬拷⻉走
就能运⾏,但是如果⽤绝对路径,那还需要拷⻉外部的⽂件。
读取⽂件的⽅法:
2.1 read()
read():将⽂件中的内容全部读取出来。弊端: 占内存,如果⽂件过⼤,容易导致内存崩溃。
- f = open("../def/哇擦.txt", mode="r", encoding="utf-8")
- content = f.read()
- print(content)
- 结果:
- 友谊地久天⻓,
- 爱⼀点,
- 可惜我是⽔瓶座
- ⼀⽣中最爱
2.2 read(n)
read(n):读取n个字符,需要注意的是,如果再次读取,那么会在当前位置继续去读⽽不
是从头读,如果使⽤的是rb模式,则读取出来的是n个字节。
- f = open("../def/哇擦.txt", mode="r" encoding="utf-8")
- content = f.read(3)
- print(content)
- 结果:
- 友谊地
- f = open("../def/哇擦.txt", mode="rb")
- content = f.read(3)
- print(content)
- 结果:
- b'\xe5\x8f\x8b'
- f = open("../def/哇擦.txt", mode="r", encoding="utf-8")
- content = f.read(3)
- content2 = f.read(3)
- print(content)
- print(content2)
- 结果:
- 友谊地
- 久天⻓
2.3 readline()
readline():⼀次读取⼀⾏数据。注意: readline()结尾,注意每次读取出来的数据都会有⼀
个\n,所以呢,需要我们使⽤strip()⽅法来去掉\n或者空格。
- f = open("../def/哇擦.txt", mode="r", encoding="utf-8")
- content = f.readline()
- content2 = f.readline()
- content3 = f.readline()
- content4 = f.readline()
- content5 = f.readline()
- content6 = f.readline()
- print(content)
- print(content2)
- print(content3)
- print(content4)
- print(content5)
- print(content6)
- 结果:
- 友谊地久天⻓,
- 爱⼀点,
- 可惜我是⽔瓶座
- ⼀⽣中最爱
2.4 readlines()
readlines():将每⼀⾏形成⼀个元素,放到⼀个列表中,将所有的内容都读取出来,所以
也是,容易出现内存崩溃的问题,不推荐使⽤。
- f = open("../def/哇擦.txt", mode="r", encoding="utf-8")
- lst = f.readlines()
- print(lst)
- for line in lst:
- print(line.strip())
2.5 循环读取
这种⽅式是组好的,每次读取⼀⾏内容,不会产⽣内存溢出的问题。
- f = open("../def/哇擦.txt", mode="r", encoding="utf-8
栏目列表
最新更新
python基础(10):文件操作
Docker中进入容器命令行及后台运行
匿名函数(lambda)
内置函数二
装饰器
递归函数
python基础-数字类型及内置方法
Jupyter Notebooks的安装和使用介绍
Requests库的使用
Android 刷机方案
.Net Standard(.Net Core)实现获取配置信息
Linux PXE + Kickstart 自动装机
Shell 编程 基础
Shell 编程 条件语句
CentOS8-网卡配置及详解
Linux中LVM逻辑卷管理
1.数码相框-相框框架分析(1)
Ubuntu armhf 版本国内源
Linux中raid磁盘阵列
搭建简易网站
如何远程连接SQL Server数据库的图文教程
复制SqlServer数据库的方法
搜索sql语句
sql中返回参数的值
sql中生成查询的模糊匹配字符串
数据定义功能
数据操作功能
将Session值储存于SQL Server中
使用SQL Server数据库嵌套子查询的方法
SQL概述