文件操作:

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')


最新文章

  1. mysql 行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行)
  2. linux执行sh脚本文件命令
  3. java 27 - 9 反射之 动态代理的概述和实现
  4. 淘宝(阿里百川)手机客户端开发日记第十篇 阿里百川服务器环境介绍之API文档的快速链接(四)
  5. Yahoo! s4和Twitter storm的粗略比较
  6. [iOS 多线程 & 网络 - 2.0] - 发送接收 服务器信息
  7. MES生产日报存储过程
  8. HDU 2602 Find a way BFS搜索
  9. bzoj1875
  10. MFC 遍历FTP服务器目录相关
  11. CentOS 6.5 安装Nvidia驱动后出现"no screens found "错误
  12. (原创)Maven+Spring+CXF+Tomcat7 简单例子实现webservice
  13. Python字符编码详解(转)
  14. GIT回滚master分支到指定tag版本
  15. 关于如何使用ehcarts2加载svg矢量地图并自定义县级内部乡镇轮廓
  16. Spark排序与去重遇见的问题
  17. 并发编程基础之volatile关键字的用法
  18. SNF快速开发平台MVC-甘特图
  19. TreeMap - 源代码学习笔记
  20. Codeforces Round #258 (Div. 2)-(A,B,C,D,E)

热门文章

  1. vue中v-cloak解决刷新或者加载出现闪烁(显示变量)
  2. ActiveMQ安装使用与spring整合配置教程
  3. LocalDate的使用
  4. pycharm 配置svn
  5. Python设计模式 - UML - 活动图(Activity Diagram)
  6. 微信小程序如何接入?
  7. Ubuntu16.04 修改主机名,以及解析主机名
  8. Vue数据交互
  9. PowerScript数据类型及变量
  10. Mybatis SqlsessionFactory