Day05 (黑客成长日记) 文件操作系列
2024-10-19 04:32:38
文件操作:
1.以什么编码方式输出,就以什么编码方式打开
f = open('d:\文件操作.txt',mode='r',encoding='GB2312') G = f.read() print(G) f.close()
操作方式:只读,只写,追加,读写,写读
只读:mode = ‘r’
mode = ‘rb’,输出bytes类型,不用添加encoding
f = open('day03.py',mode='rb')
g = f.read()
print(g)
文件中的数据类型是bytes,而输出后的类型是str
所以pycharm中的open函数进行了一个转换
2.只写:
没有该文件,则自动创建
f = open('day09练习',mode = 'w',encoding= 'utf-8')
f.write('加油')
f.close()
这里我用的是相对路径,也可以用绝对路径进行准确创建。
内容的话:会先将原文件的内容删除,后添加write里面的内容。
3.追加:
将只写中的mode改为a:
f = open('day09练习',mode='a',encoding='utf-8')
f.write('同思远')
f.close()
ab,rb,wb
f = open('day09练习',mode='ab')
g = f.write('tongsiyuan'.encode('utf-8'))
print(g)
利用字符串的操作方法 str.encode()将默认的Unicode改为UTF-8添加到文件
4.R+:
读写,r+:
f = open('day09练习',mode ='r+',encoding='utf-8')
print(f.read())
f.write('ddd')
f.write('ddd')
f.write('wdd')
R+的顺序一定是先读后写(写的次数不限)
如果先写再读,那么光标从最前面开始,写几个数据,则清除几个添加几个
python中的文件是不能修改的(python中没有提供修改文件的方法)
但是我们可以将源文件在python中修改后写入另外一个文件(命名为源文件),然后删除源文件,达到看似修改了得目的:
这里我们引入os模板:
os,语义为操作系统,所以肯定就是操作系统相关的功能了,可以处理文件和目录这些我们日常手动需要做的操作,就比如说:显示当前目录下所有文件/删除某个文件/获取文件大小……
源文件:dream:fighting replace
be yourself
我们利用下面代码进行操作:
with open('dream',encoding= 'utf-8') as f ,open('dream.1','w',encoding='utf-8') as g :
for line in f:
if 'fighting replace' in line :
line = line.replace('fighting replace','Tsy')
g.write(line)
import os
os.remove('dream')
os.rename('dream.1','dream')
最新文章
- mysql 行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行)
- linux执行sh脚本文件命令
- java 27 - 9 反射之 动态代理的概述和实现
- 淘宝(阿里百川)手机客户端开发日记第十篇 阿里百川服务器环境介绍之API文档的快速链接(四)
- Yahoo! s4和Twitter storm的粗略比较
- [iOS 多线程 &; 网络 - 2.0] - 发送接收 服务器信息
- MES生产日报存储过程
- HDU 2602 Find a way BFS搜索
- bzoj1875
- MFC 遍历FTP服务器目录相关
- CentOS 6.5 安装Nvidia驱动后出现";no screens found ";错误
- (原创)Maven+Spring+CXF+Tomcat7 简单例子实现webservice
- Python字符编码详解(转)
- GIT回滚master分支到指定tag版本
- 关于如何使用ehcarts2加载svg矢量地图并自定义县级内部乡镇轮廓
- Spark排序与去重遇见的问题
- 并发编程基础之volatile关键字的用法
- SNF快速开发平台MVC-甘特图
- TreeMap - 源代码学习笔记
- Codeforces Round #258 (Div. 2)-(A,B,C,D,E)