简析python 文件操作
off999 2025-08-06 22:29 60 浏览 0 评论
一、打开并读文件
1、file = open('打开文件的路径','打开文件的权限')#打开文件并赋值给file
#默认权限为r及读权限
str = read(num)读文件并放到字符串变量中,其中num表示要读取的字节数,
#默认read函数不加参数是全读
str = file.read()
file.close()#关闭文件,线程回收
2、下面举个列子(程序用华丽的分割线隔开):
首先我们创建一个test.txt文件随便写入下面内容(Apologize的歌词)
Apologize
I'm holding on your rope,
Got me ten feet off the ground
I'm hearin what you say but I just can't make a sound
You tell me that you need me
Then you go and cut me down, but wait
You tell me that you're sorry
Didn't think I'd turn around, and say...
------------↓↓↓↓↓↓这是程序↓↓↓↓↓↓↓--------------
file = open(r'/root/python-learn/python1-7/test.txt')
#r,表示防止转义,也可以用\来防止转义
str = file.read()
print(str)
file.close()
------------↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑--------------
输出结果:
3、这里我们要说明下读写指针
#文件读写指针,当读完一次后,str1将接着str后读,但是str后面会自动添加\n
------------↓↓↓↓↓↓这是程序↓↓↓↓↓↓↓--------------
file = open(r'/root/python-learn/python1-7/test.txt')
str = file.read(10)
str1 = file.read(10)
print(str)
print(str1)
file.close()
------------↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑--------------
输出结果:
4、为了修改读写指针我们使用到seek()函数
语法:fileObject.seek(offset[,whence])
offset:偏移量
whence:从哪里
0 表示从头开始计算
1 表示从当前稳只计算
2 表示以文件末尾为远点进行计算
需要注意的是,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到
文件末尾
file.seek(0,0)回到文件开头
file.seek(-1,2)从末尾向前偏移一个,尝试后发现最好用rb的权限读,rb以二进制方式读
------------↓↓↓↓↓↓这是程序↓↓↓↓↓↓↓--------------
file = open(r'/root/python-learn/python1-7/test.txt','rb')
file.seek(-20,2)
str1 = file.read(10)
print(str1)
file.close()
------------↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑--------------
输入结果:(能不使用图片就不粘图了提高效率)
[root@vipuser200 python1-7]# python3 file.py
b'around, an'
5、读取行使用函数readline()
str = readline() 读取一行
------------↓↓↓↓↓↓这是程序↓↓↓↓↓↓↓--------------
file = open(r'/root/python-learn/python1-7/test.txt')
str1 = file.readline()
print(str1)
str2 = file.readline()
print(str2)
str3 = file.readline()
print(str3)
str4 = file.readline()
print(str4)
str5 = fisle.readline()
print(str5)
file.close()
------------↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑--------------
输出结果:(原文件里面只有一个空行,但程序自带换行符所以会感觉空行比较多)
[root@vipuser200 python1-7]# python3 file1.py
Apologize
I'm holding on your rope,
Got me ten feet off the ground
I'm hearin what you say but I just can't make a sound
6、strlist = readlines() 读取整个文件到字符串列表
字符串列表:['abc','bcd']里面所有元素必须是字符串,可以把文件中的内容
一次性读到字符串列表中。
怎么去掉换行符呢
------------↓↓↓↓↓↓这是程序↓↓↓↓↓↓↓--------------
file = open(r'/root/python-learn/python1-7/test.txt')
strlist = file.readlines()
print(strlist)
for var in strlist:#也可以用file.strip()去掉不可见字符
var = var[:-1]#切片首先你得确定你最后一个换行符是单个字符
print(var)
file.close()
------------↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑--------------
输出结果:
[root@vipuser200 python1-7]# python3 file2.py
['Apologize\n', '\n', "I'm holding on your rope,\n", #后面太长不粘了
I'm holding on your rope,
Got me ten feet off the ground
I'm hearin what you say but I just can't make a sound
You tell me that you need me
Then you go and cut me down, but wait
You tell me that you're sorry
Didn't think I'd turn around, and say...
二、文件写操作
1、file.write('str') #在文件中写入字符串,当你使用写模式打开文件的时候,会将
文件里面的内容清空。
首先我们创建一个test1.txt测试文件在里面写入
Aplologize
编写程序
------------↓↓↓↓↓↓这是程序↓↓↓↓↓↓↓--------------
file = open(r'/root/python-learn/python1-7/test1.txt','w')
file.write('---------华丽的分割线-------------')
print(file)
file.close()
------------↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑--------------
执行结果:
[root@vipuser200 python1-7]# python3 file3.py
<_io.TextIOWrapper name='/root/python-learn/python1-7/test1.txt' mode='w'
encoding='UTF-8'>
打开test1.txt
---------华丽的分割线-------------
python中的写操作不会默认加换行符(需要自己手动添加)
python中的写不会覆盖原先的内容,只有我们重新打开文件再次使用w模式时候,文件
内容才会覆盖
------------↓↓↓↓↓↓这是程序↓↓↓↓↓↓↓--------------
from time import sleep
file = open(r'/root/python-learn/python1-7/test1.txt','w')
file.write('---------华丽的分割线-------------')
file.write('********华丽的星号*********')
file.flush() #强制写入,不需要等到文件关闭
print(file)
sleep(5) #等待5秒
file.close()
------------↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑--------------
输出结果:
[root@vipuser200 python1-7]# python3 file3.py
<_io.TextIOWrapper name='/root/python-learn/python1-7/test1.txt' mode='w'
encoding='UTF-8'>
打开test1.txt文件显示如下(里面使用了sleep()函数)
---------华丽的分割线-------------********华丽的星号*********
2、file.writelines()在文件中写入字符串元组或者是字符串列表
程序如下:
------------↓↓↓↓↓↓这是程序↓↓↓↓↓↓↓--------------
file = open(r'/root/python-learn/python1-7/test1.txt','w')
strlist = ['aaa','bbb']
file.writelines(strlist)
file.close()
------------↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑--------------
输出结果:
打开文件test1.txt
aaabbb
如果我们想让输入的字符串换行需要手动加入换行符可以写成如下所示:
strlist = ['aaa\n','bbb\n']
readlines和writelines可以对比来记。
相关推荐
- android13正式版下载(安卓版本13)
-
出现该问题的原因是,用户在设置里开启了新下载的APP,仅添加到APP资源库选项。大家只要进入“设置-主屏幕”,把新下载的APP,改为“添加到主屏幕”即可解决问题。修改完成后,你再进入AppStore下...
- firefox浏览器安卓版(firefox浏览器安卓版 打开本地网页)
-
要进入火狐浏览器手机版的主页,你可以通过以下几种方式进行:首先,打开火狐浏览器App,然后点击右上角的三条横线菜单按钮,接着选择“主页”选项。另外,你也可以直接在浏览器地址栏中输入“about:hom...
- 电脑cpu性能排行榜天梯图(“电脑cpu性能天梯图”)
-
一、英特尔酷睿i7670。这款英特尔CPU采用的是超频新芯,最大程度的提升处理器的超频能力。二、英特尔酷睿i74790kCPU:这款CPU采用22纳米制程工艺的框架,它的默认频率是4.0到4.4Ghz...
- 电脑自由截屏的快捷键是什么
-
快捷键是ctrl+alt+a,我们可将聊天窗口缩小,放在旁边。然后找到想要截屏的位置,这时我们在截屏旁边,就更加的方便了。在键盘中按下PrintScreenSysRq(简写为PrtSc)键,此快捷...
- windows10精简版官网下载(win10官方精简版下载)
-
精简版的意思的它比原版的功能和软件少了,其实精简版的更适合大众,没有多余的其他必要功能,更快Win10版本主要为四个分别是专业版、家庭版、企业版、教育版,其实除了这四个之外,还有工作站版、LTSB/L...
- cad2008安装失败(Win11安装cad2008安装失败)
-
解决方法:1、右键点击“开始”按钮,选择“程序和功能”;2、然后点击“启用或关闭windows功能”;3、勾选“Microsoft.NETFramework3.5(包括.Net2.0)”后点击确定按钮...
- u盘在电脑上怎么找出来(u盘在电脑上怎么找到)
-
在电脑中找不到u盘,是因为系统没有自动识别出来,手动打开即可,具体的解决步骤如下:1、在桌面上点击我的电脑,右键,管理。2、打开管理界面,点击储存。3、进到储存页面。4、到这一步,也就可以看到了,有这...
- 联想一体机怎么进入bios(联想一体机怎么进入u盘启动)
-
所需工具:联想Lenovo品牌一体机、启动U盘。具体步骤如下:1、联想一体机从U盘启动设置步骤如下重启联想一体机,启动过程中按F1进入BIOS,部分机型则是开机按Enter键,进入之后再按F12选择进...
- 如何装ghost系统盘(ghost装机教程)
-
ghost是不能做系统c盘,它是一种对硬盘和分区制作成映像文件进行备份和恢复的工具软件,是不能进行操作系统安装。这个软件的使用目的是,当我们安装配置好操作系统以后,用ghost软件对c盘进行备份,或者...
- 加密u盘如何格式化(加密u盘如何格式化手机)
-
1,点击系统与安全进入电脑的控制面板界面,点击上方的系统与安全的选项,在系统界面找到最下方的管理工具功能组。2,选中u盘选择管理工具下面的创建并格式化硬盘分区,点击弹出磁盘管理的界面,在这个里面选中你...
- 万能显卡驱动离线版pc(万能显卡驱动离线版)
-
万用驱动是综合各电脑硬件的性能而制做的软件,对于大多数的电脑硬件驱动都好用,但对于少数品牌电脑驱动要求严格的,就不灵了。有的硬件用万能驱动后,使用效果不佳,就是因为没有完全驱动好。所以,知名品牌电脑硬...
- 笔记本windows8系统下载(笔记本电脑系统win8)
-
在电脑上面就可以下载,打开浏览器搜索windous8系统会出现一些下拉选择,选择第一条或者选择有官网字样的,就直接有下载按钮,然后点击下载就可以了win8可以支持现在可以见到的所有Photosho...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
