文件操作

文件操作流程:

1.打开文件得到文件句柄并赋值变量

2.通过句柄对文件进行操作

3.关闭文件

打开的只是储存在计算机里的文件对象,必须赋值一个变量才能操作,变量通常用f表示,赋值f的文件对象也叫做文件句柄。

 1 #!/usr/bin/env python
 2 # -*- coding utf-8 -*-
 3 # Author:qinjiaxi
 4 f = open('hh','r',encoding = 'utf-8')#文件句柄
 5 '''第一个参数是文件名,第二个是模式,第三个跟编码有关utf-8
 6 1.r的是读是默认的模式
 7 2.w是写要覆盖之前的内容这个要慎用
 8 3.a是追加的意思在启动该模式写文件时不清空之前的文件内容,而是在后面追加内容
 9 '''
10 #读
11 data = f.read()
12 #写
13 data2 = f.write("hello")
14 #append追加
15 data3 = f.write('hh')
16 f.close()
17 '''需求:
18 读取文件前10行
19 '''
20 #low loop
21 for index,line in enumerate(f.readlines()):
22     if index == 10:
23         print('----我是分割线-----')
24         continue
25     print(line.strip())
26 #high loop
27 count = 0
28 for line in f:
29     if count == 10:
30         print('----我是分割线-----')
31         count += 1
32         continue
33     print(line.strip())
34     count += 1

定义一个敏感词过滤器的函数

 1 #!/user/bin/env python
 2 #-*-coding:utf-8 -*-
 3 #Author: qinjiaxi
 4 def text_create(name, msg):
 5     path ="C:\\Users\\Administrator\\Desktop\\"
 6     file = path + name + ".txt"
 7     text = open(file, 'w')
 8     text.write(msg)
 9     text.close()
10 # text_create('1111', 'hello world')
11 def fiter(word, content = 'lame',  p = 'Awesome'):
12     return word.replace(content, p)
13 def censored_text(name, msg):
14     clean_msg = fiter(msg)
15     text_create(name, clean_msg)
16 censored_text('Try', 'lame!lame!lame!')

句柄操作及缓冲进度模拟

 1 '''句柄操作'''
 2 f.tell()#打印当前光标位置
 3 f.seek()#默认回到起始位置0,括号里面可以带数字
 4 f.encoding#打印文件的编码方式
 5 f.flush()#强制将缓存的内容刷新到硬盘(缓存中有大小,默认当写入内容达到内容大小的时候才会刷新到硬盘中)
 6 f.truncate()#括号中不写清空文件;括号中带数字n表示从开头截取n个字符
 7
 8 '''
 9 r+:读写追加到后面(用的最多)
10 w+:写读,清除内容写(平时用的少基本不会用)
11 a+:追加读(基本不用)
12 rb:二进制方式读,此模式用在网络传输中,python3中只能用二进制进行,python2可以用字符和二进制格式
13 二进制是指用二进制编码的而不是0101的格式
14 wb:以二进制的方式写入,字符串转为二进制需要编码----str.encode()
15 '''
16 '''模拟进度行缓冲效果'''
17 import sys,time
18 f = open('hh','w',encoding = 'utf-8')
19 for i in range(20):
20     sys.stdout.write('#')
21     time.sleep(0.1)
22     sys.stdout.flush()#强制刷新缓冲
23 #注:print打印是默认换行的,stdout是标准输出、stdout是标准输入,这个标准输入和输出是指往屏幕上输

文件修改

思路:打开两个文件句柄,第一个以读的模式打开,第二个以写的模式打开,然后循环每行,再判断需要修改的内容,写入每行,直接贴源码:

1 f = open('hh', 'r', encoding='utf-8')
2 f_new = open('hh.bak', 'w', encoding='utf-8')
3 for line in f:
4     if line == '我的名字叫秦朗':
5     # if '我的名字叫秦朗' in line:
6         line = line.replace('我的名字叫秦朗','我的名字叫秦家喜')
7     f_new.write(line)
8 f.close()
9 f_new.close()

转载于:https://www.cnblogs.com/qinlangsky/p/9446462.html

ql的python学习之路-day5相关推荐

  1. ql的python学习之路-day10

    前言:本节主要讲解迭代器和生成器 迭代器&生成器 一.生成器(generator) 循环占用大部分的容量内存,如果只需要循环前面的几个结果那怎么样做呢,在python中有一种一边循环一边计算的 ...

  2. ql的python学习之路-day9

    前言:本节主要学习装饰器 一.装饰器 定义:本质上是个函数,用来装饰其他函数:(就是为其他函数添加附加功能) 原则:1.不能修改被装饰的函数的源代码 2.不能修改被装饰的函数的调用方式 以上两点可以总 ...

  3. ql的python学习之路-day3

    字典操作 特性: 1.无序的 2.key是唯一的 #!/usr/bin/env python# -*- coding utf-8 -*-# Author:qinjiaxiinfo = {'name1' ...

  4. python之路 mysql 博客园_教为学:Python学习之路(二):MySQLdb的几种安装方式,以及用Python测试连接MySql...

    教为学:Python学习之路(二):MySQLdb的几种安装方式,以及用Python测试连接MySql Easy_install安装MySQLdb 很简单,以至于我不晓得该怎么说.一句话. sodu ...

  5. Python学习之路—2018/7/14

    Python学习之路-2018/7/12 3.功能开发 3.3 设计博客首页 博客首页中最重要的就是中间的文章区域,所以我首先把文章区域设计出来,一开始并没有数据,如果用orm添加或者直接在数据库添加 ...

  6. Python学习之路—2018/6/20

    Python学习之路-2018/6/20 1.模板语法之变量 views.py def index(request):import datetimes="gyq"l=[1,2,3] ...

  7. Python学习之路9☞面向对象的程序设计

    Python学习之路9☞面向对象的程序设计 一 面向对象的程序设计的由来 见概述:http://www.cnblogs.com/linhaifeng/articles/6428835.html 二 什 ...

  8. python 学习之路开始了

    python 学习之路开始了.....记录点点滴滴.... 转载于:https://www.cnblogs.com/chobit/p/6163287.html

  9. Python学习之路5☞文件处理

    Python学习之路5☞文件处理 一.文件处理流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 1 正趣果上果 2 Interesting fruit fruit 3 4 ...

  10. python学习之路0x00

    Python学习之路0x00 在学习python之前,要知道什么是python? python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,与c语言不同, c语言要编译后才能执行.而 ...

最新文章

  1. 莫斯科国立大学更新VQMT的测量指标
  2. python控制条件语句_Python条件控制语句
  3. APP界面的数据可视化设计临摹学习模板
  4. 专门为某种用途而设计的计算机 称为,专门为某种用途而设计的计算机,称为计算机...
  5. Access数据库学习总结(1)
  6. 二分查找在java中的实现
  7. 9种实用的将3.3V输出连接到5V输入的方法
  8. 联网下 计算机重启,电脑每次开机都要重启路由器才能上网的处理方法
  9. POJ 1392 Ouroboros Snake(数位欧拉)
  10. 《一只特例独行的猪》摘抄
  11. 【多智能体感知与协同调度】
  12. 迅为-IMX6UL开发板丨双网口丨双CAN总线丨4路USB HOST丨2路串口、6路插座引出,共8路串口丨1路RGB信号丨2路LVDS信号
  13. 再先进的在线教学,也要回归这个本质
  14. 数据库——数据库表和表的操作
  15. 如何理解最大似然估计?
  16. php编辑器怎么修改字体,vscode怎么改变字体
  17. 0-1背包算法python实现
  18. 电子标签的制作及封装 射频标签通信协议简介 射频标签内存信息的写入方式
  19. iOS 设置代理详细步骤
  20. 关于大数据统计大量股票开盘平均价和收盘价的简单程序程序

热门文章

  1. map获取key的方式
  2. ios个人小游戏开发者如何做到年收益过百万?
  3. Python学习之UnitTest【使用,生成HTML测试报告】
  4. 世界银行为孟加拉国建设数据中心提供贷款
  5. 国内资深安全专家详谈网页***
  6. 百度指数 自助采集 爬取 抓取 导出 提取 下载 查询
  7. 【H3C模拟器】VLAN单臂路由通信:用路由器实现和三层交换机实现
  8. 为什么说c语言是关键字,为什么说C语言既有高级语言又有低级语言的特点
  9. 英语知识系列:单词中元音字母发音规律
  10. 最全电商分类信息(10)