ql的python学习之路-day5
文件操作
文件操作流程:
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相关推荐
- ql的python学习之路-day10
前言:本节主要讲解迭代器和生成器 迭代器&生成器 一.生成器(generator) 循环占用大部分的容量内存,如果只需要循环前面的几个结果那怎么样做呢,在python中有一种一边循环一边计算的 ...
- ql的python学习之路-day9
前言:本节主要学习装饰器 一.装饰器 定义:本质上是个函数,用来装饰其他函数:(就是为其他函数添加附加功能) 原则:1.不能修改被装饰的函数的源代码 2.不能修改被装饰的函数的调用方式 以上两点可以总 ...
- ql的python学习之路-day3
字典操作 特性: 1.无序的 2.key是唯一的 #!/usr/bin/env python# -*- coding utf-8 -*-# Author:qinjiaxiinfo = {'name1' ...
- python之路 mysql 博客园_教为学:Python学习之路(二):MySQLdb的几种安装方式,以及用Python测试连接MySql...
教为学:Python学习之路(二):MySQLdb的几种安装方式,以及用Python测试连接MySql Easy_install安装MySQLdb 很简单,以至于我不晓得该怎么说.一句话. sodu ...
- Python学习之路—2018/7/14
Python学习之路-2018/7/12 3.功能开发 3.3 设计博客首页 博客首页中最重要的就是中间的文章区域,所以我首先把文章区域设计出来,一开始并没有数据,如果用orm添加或者直接在数据库添加 ...
- Python学习之路—2018/6/20
Python学习之路-2018/6/20 1.模板语法之变量 views.py def index(request):import datetimes="gyq"l=[1,2,3] ...
- Python学习之路9☞面向对象的程序设计
Python学习之路9☞面向对象的程序设计 一 面向对象的程序设计的由来 见概述:http://www.cnblogs.com/linhaifeng/articles/6428835.html 二 什 ...
- python 学习之路开始了
python 学习之路开始了.....记录点点滴滴.... 转载于:https://www.cnblogs.com/chobit/p/6163287.html
- Python学习之路5☞文件处理
Python学习之路5☞文件处理 一.文件处理流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 1 正趣果上果 2 Interesting fruit fruit 3 4 ...
- python学习之路0x00
Python学习之路0x00 在学习python之前,要知道什么是python? python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,与c语言不同, c语言要编译后才能执行.而 ...
最新文章
- 莫斯科国立大学更新VQMT的测量指标
- python控制条件语句_Python条件控制语句
- APP界面的数据可视化设计临摹学习模板
- 专门为某种用途而设计的计算机 称为,专门为某种用途而设计的计算机,称为计算机...
- Access数据库学习总结(1)
- 二分查找在java中的实现
- 9种实用的将3.3V输出连接到5V输入的方法
- 联网下 计算机重启,电脑每次开机都要重启路由器才能上网的处理方法
- POJ 1392 Ouroboros Snake(数位欧拉)
- 《一只特例独行的猪》摘抄
- 【多智能体感知与协同调度】
- 迅为-IMX6UL开发板丨双网口丨双CAN总线丨4路USB HOST丨2路串口、6路插座引出,共8路串口丨1路RGB信号丨2路LVDS信号
- 再先进的在线教学,也要回归这个本质
- 数据库——数据库表和表的操作
- 如何理解最大似然估计?
- php编辑器怎么修改字体,vscode怎么改变字体
- 0-1背包算法python实现
- 电子标签的制作及封装 射频标签通信协议简介 射频标签内存信息的写入方式
- iOS 设置代理详细步骤
- 关于大数据统计大量股票开盘平均价和收盘价的简单程序程序