---恢复内容开始---

15day

1、智能检测文件编码:

1.1 导入第三方工具箱:chardet

import chardet

f = open('log',mode='rb')

data = f.read()  #表示读取所有内容,

f.close()        #表示关闭文件

chardet.detect(data)   #尝试检测文件的编码方式

1.2 循环文件

f = open('log',mode='rb')

for line in f:

  print(f)

f.close()

2、写文件:w  和  wb

注意w是创建一个文件

3、追加文件(修改)

3.1 追加到文档尾部

f = open("file.txt",'a',encoding="gbk")  #'a'或'ab' 只能追加 即在文档尾部追加内容

f.write("\n路飞学城")  #\n换行符另起一行

f.close()

4、混合模式:写读模式(r+)和读写模式(w+)

4.1 写读模式:r+

注:以写的模式打开,支持追加

4.2 读写模式:w+

注:以创建的模式打开,支持读

5、文件操作:

5.1 f.flush() #将文件内容强制从内容刷新至硬盘

5.2 f.tell()  返回当前文件操作的光标位置

5.3 f.readable() 判断一个文件是否可读

5.4 f.seek() 将光标移到指定位置

5.5 f.seekable() 判断文件是否可进行seek操作

5.6 f.readline() 只读一行,遇到\n \r为止

5.7 f.writeable() 判断是否可进行写

5.8 f.truncate() 按指定长度截取文件

6、修改文档:

使用f.seek() 将光标移到想要添加的位置

7.全局替换

f_name = "替换1.txt"
f_new_name = "%s.new" %f_name
old_str = "习大大"
new_str = "范瑶"
f = open("替换1.txt","r",encoding="UTF-8")
f_new = open(f_new_name,"w",encoding="UTF-8")
n = 0
for line in f:
if old_str in line:
line = line.replace(old_str,new_str)
n += 1
f_new.write(line)
print(n)
f.close()
f_new.close()

---恢复内容结束---

Python初学者第十五天 文件处理3的更多相关文章

  1. 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容

     孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当 ...

  2. 孤荷凌寒自学python第八十五天配置selenium并进行模拟浏览器操作1

    孤荷凌寒自学python第八十五天配置selenium并进行模拟浏览器操作1 (完整学习过程屏幕记录视频地址在文末) 要模拟进行浏览器操作,只用requests是不行的,因此今天了解到有专门的解决方案 ...

  3. 孤荷凌寒自学python第七十五天开始写Python的第一个爬虫5

    孤荷凌寒自学python第七十五天开始写Python的第一个爬虫5 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 直接上代码.详细过程见文末屏幕录像 ...

  4. 孤荷凌寒自学python第六十五天学习mongoDB的基本操作并进行简单封装4

    孤荷凌寒自学python第六十五天学习mongoDB的基本操作并进行简单封装4 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第十一天. 今天继续学习mongoDB的简单操作 ...

  5. 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备

     孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自 ...

  6. Python进阶(三十五)-Fiddler命令行和HTTP断点调试

    Python进阶(三十五)-Fiddler命令行和HTTP断点调试 一. Fiddler内置命令   上一节(使用Fiddler进行抓包分析)中,介绍到,在web session(与我们通常所说的se ...

  7. JAVA之旅(二十五)——文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine

    JAVA之旅(二十五)--文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine 我们继续IO上个篇 ...

  8. Python学习系列(五)(文件操作及其字典)

    Python学习系列(五)(文件操作及其字典) Python学习系列(四)(列表及其函数) 一.文件操作 1,读文件      在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出 ...

  9. 进击的Python【第十五章】:Web前端基础之DOM

    进击的Python[第十五章]:Web前端基础之DOM 简介:文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示 ...

随机推荐

  1. python2和python3中列表推导式的变量泄露问题

    Python 2.x 中,在列表推导中 for 关键词之后的赋值操作可能会影响列表推导上下文中的同名变量.像下面这个 Python 2.7 控制台对话: Python 2.7.15 (default, ...

  2. Hibernate 查询语句基本用法

    转发: http://459104018-qq-com.iteye.com/blog/720538

  3. 闲话handle和handler

    虽然handle和handler只有一个字符之差,但在计算机的世界里,含义却大相径庭. 1. 先说说handle 北京话说"一边儿玩儿去,玩勺子把儿去","勺子把儿&qu ...

  4. [Mysql]——用户管理

    登录和退出 > mysql  -h 参数后面接hostname或者hostIP -P 参数后面接Mysql服务的端口号,通过指定的端口号来进行连接 -u 参数后面接username用户名 -p ...

  5. 【转】让Entity Framework不再私闯sys.databases

    这里的“私闯sys.databases”是指Entity Framework默认发起的查询:SELECT Count(*) FROM sys.databases WHERE [name]=N'数据库名 ...

  6. Vue 脱坑记 - 查漏补缺(汇总下群里高频询问的xxx及给出不靠谱的解决方案)

    前言 发现群里有些问题的提问重复率太高了,每次都去回答,回答的贼烦.这里做一个大体的汇总,废话不多说,直接开始给出方案,不是手把手..若是连问题和解决都看不懂的..应该去补充下基础知识 问题汇总 Q: ...

  7. 字符编码unicode,utf-8和ascii

    Ascii编码 由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母.数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码 ...

  8. DateGridView 分页显示

    l 思路:将数据表整体填充至一个Dataset中,探后部分显示(DataaAdapter Fill重载) l DataGridView 控件   l BindingNavigator 控件   l B ...

  9. 关于设置服务器为https服务器

    主要是设置IIS: step1:打开Internet 信息服务(IIS)管理器——选择网站,编辑绑定   step2:添加https,如下图,这样如果不设置SSL的话就两种都可以进去网站 如果想要设置 ...

  10. Winform学习之随笔一:Log4net

    前提题要:因为我最近负责的Winform项目,好多都用到了这个log4net的日志功能,开发程序对数据一般都要求做到雁过留痕,所以日志对于我们程序员是不可或缺.因此我把对log4net的使用做一个记录 ...