python 数据类型 ---文件一
1.文件的操作流程: 打开(open), 操作(read,write), 关闭(close)
下面分别用三种方式打开文件,r,w,a 模式 . "a"模式将不会覆盖原来的文件内容, 会以追加的形式写入。
f=open("file1.txt","r",encoding="utf-8") # 默认以 "r" 模式打开
f=open("file2.txt","w",encoding="utf-8")
f=open("file3.txt","a",encoding="utf-8")
2. read, readline, readlines
(1) read() 一次性读出所有文件内容, 并且只能读一次
(2) readline() 一行一行读出文件的内容
(3)readlines() 将以列表的形式读出来
3.高效遍历文件内容, 并在第10行插入一行指定内容
f = open("lyric.txt","r",encoding="utf-8")
count = 0
for line in f:
if count == 9:
print("------------------我是分割线-------------------")
count += 1
continue
print(line.strip())
count +=1
4.tell(), seek() 属性
tell() 打印光标所在的位置
seek(数字) 回到“数字” 所示的光标位置
# example
f = open("lyric.txt","r",encoding="utf-8")
print(f.tell()) # 打印光标所在的位置
print(f.readline())
print(f.readline())
print(f.readline())
print(f.tell())
f.seek(0) #回到最初的索引地方
print(f.readline())
5. f.truncate(20)
truncate 方法必须是以"a" 模式打开, 从文件开头开始截断 20 个字符
6. flush 用法 ,可以实时刷新新的内容到硬盘
>>> f = open("test.txt","w")
>>> f.write("this is just for testt\n")
22
>>> f.flush()
7. 文件的修改, 将文件file1 特定行修改后, 写到另一文件中file1_new
思路:读写文件分离, 读一行,写一行, 当遇到特定的行, 利用字符串replace 替换
f = open('lyric.txt','r',encoding="utf-8")
f_new = open('lyric_modify.txt','w',encoding="utf-8")
for line in f:
if line.strip() == "我的梦":
# print(repr(line))
#if "我的梦" in line:
line = line.replace("我的梦","Frank's dream")
f_new.write(line)
else:
f_new.write(line)
f.close()
f_new.close()
8. 文件的修改进阶---将参数1 修改为参数2
import sys
f = open("lyric.txt","r",encoding="utf-8")
f_new = open("lyric_2.txt","w",encoding="utf-8")
origi_str = sys.argv[1]
replace_str = sys.argv[2]
for line in f:
if origi_str in line:
line = line.replace(origi_str,replace_str)
f_new.write(line)
f.close()
f_new.close()
python 数据类型 ---文件一的更多相关文章
- python 数据类型---文件二
1.打印进度条 import sys,time for i in range(20): sys.stdout.write("#") sys.stdout.flush() #不等缓冲 ...
- Python基础--文件操作和集合
这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件file.txt: 我们哭了 ...
- Python数据类型解析(基础篇)
Python语言的类型 数字类型 字符串类型 元组类型 列表类型 文件类型 字典类型 1.数字类型 Python有三种数字类型:整数,浮点数,复数 Python中的整 ...
- Python 中文件操作
上代码: import os import os.path rootdir = "d:/code/su/data" # 指明被遍历的文件夹 for parent,dirnames, ...
- PYTHON 100days学习笔记007-1:python数据类型补充(1)
目录 day007:python数据类型补充(1) 1.数字Number 1.1 Python 数字类型转换 1.2 Python 数字运算 1.3 数学函数 1.4 随机数函数 1.5 三角函数 1 ...
- PYTHON数据类型(进阶)
PYTHON数据类型(进阶) 一.字符串.列表.字典.元祖.集合的补充 str #captalize 首字母大写,其余小写 s1.capitalize() #swapcase 大小写翻转 s1.swa ...
- PYTHON数据类型(基础)
PYTHON数据类型(基础) 一.列表.字典.元祖.集合的基本操作 列表 创建 l1=[] l1=list() l1=list(['你好',6]) 增 l1.append('hu') l1.inser ...
- Python数据类型方法整理
前言:主要是对Python数据类型做一个整理,部分知识点源于<python3程序开发指南(第二版)> 一.Python的关键要素 1.1 要素1:数据类型 int类型 str类型 ...
- 第2章 Python编程基础知识 第2.1节 简单的Python数据类型、变量赋值及输入输出
第三节 简单的Python数据类型.变量赋值及输入输出 Python是一门解释性语言,它的执行依赖于Python提供的执行环境,前面一章介绍了Python环境安装.WINDOWS系列Python编辑和 ...
随机推荐
- 网页提交中文到WEB容器的经历了些什么过程....
先准备一个网页 <html><meta http-equiv="Content-Type" content="text/html; charset=gb ...
- accept_mutex与性能的关系 (nginx)
注:运行环境CentOS 6+ 背景 在对启动了20个worker的nginx进行压力测试的时候发现:如果把配置文件中event配置块中的accept_mutex开关打开(1.11.3版 ...
- 细说前端自动化打包工具--webpack
背景 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过链接组织在一起.用过Dreamweaver的都知道,做网页就像用word编辑文档 ...
- ASP.NET路由模型解析
大家好,我又来吹牛逼了 ~-_-~ 转载请注明出处:来自吹牛逼之<ASP.NET路由模型解析> 背景:很多人知道Asp.Net中路由怎么用的,却不知道路由模型内部的运行原理,今天我就给大家 ...
- Docker 第一篇--初识docker
已经多年不写博客, 看完<晓松奇谈>最后一期猛然觉醒, 决定仔细梳理下自己这几年的知识脉络. 既然决定写, 那么首先就从最近2年热门的开源项目Docker开始.Docker 这两年在国内很 ...
- 数据库的快照隔离级别(Snapshot Isolation)
隔离级别定义事务处理数据读取操作的隔离程度,在SQL Server中,隔离级别只会影响读操作申请的共享锁(Shared Lock),而不会影响写操作申请的互斥锁(Exclusive Lock),隔离级 ...
- SQL Server-表表达式基础回顾(二十四)
前言 从这一节开始我们开始进入表表达式章节的学习,Microsoft SQL Server支持4种类型的表表达式:派生表.公用表表达式(CTE).视图.内嵌表值函数(TVF).简短的内容,深入的理解, ...
- lua 学习笔记(1)
一.lua函数赋值与函数调用 在lua中函数名也是作为一种变量出现的,即函数和所有其他值一样都是匿名的,当要使用某个函数时,需要将该函数赋值给一个变量,这样在函数块的其他地方就可以通过 ...
- [原]分享一下我和MongoDB与Redis那些事
缘起:来自于我在近期一个项目上遇到的问题,在Segmentfault上发表了提问 知识背景: 对不是很熟悉MongoDB和Redis的同学做一下介绍. 1.MongoDB数组查询:MongoDB自带L ...
- OpenLiveWriter代码插件
1.OpenLiveWriter安装 Windows Live Writer在2012年就停止了更新,Open Live Writer(以下简称OLW)是由Windows Live WriterWri ...