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编辑和 ...
随机推荐
- 轻量级“集合”迭代器-Generator
Generator是PHP 5.5加入的新语言特性.但是,它似乎并没有被很多PHP开发者广泛采用.因此,在我们了解PHP 7对Generator的改进之前,我们先通过一个简单却显而易见的例子来了解下G ...
- MVVM TextBox的键盘事件
MVVM下RichTextBox的键盘回车事件设置为发送,不是回车 xmlns:i="http://schemas.microsoft.com/expression/2010/interac ...
- nodejs模块发布及命令行程序开发
前置技能 npm工具为nodejs提供了一个模块和管理程序模块依赖的机制,当我们希望把模块贡献出去给他人使用时,可以把我们的程序发布到npm提供的公共仓库中,为了方便模块的管理,npm规定要使用一个叫 ...
- php实现的分页类
php分页类文件: <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 pr ...
- 【iOS】Xcode8+Swift3 纯代码模式实现 UICollectionView
开发环境 macOS Sierra 10.12.Xcode 8.0,如下图所示: 总体思路 1.建立空白的storyboard用于呈现列表 2.实现自定义单个单元格(继承自:UICollectionV ...
- 【干货分享】流程DEMO-事务呈批表
流程名: 事务呈批表 业务描述: 办公采购.会议费用等事务的申请.流程发起时,会检查预算,如果预算不够,将不允许发起费用申请,如果预算够用,将发起流程,同时占用相应金额的预算,但撤销流程会释放相应金 ...
- Android:Activity+Fragment及它们之间的数据交换.
Android:Activity+Fragment及它们之间的数据交换 关于Fragment与Fragment.Activity通信的四种方式 比较好一点的Activity+Fragment及它们之间 ...
- Jquery 获得当前标签的名称和标签属性
得到标签的名称 $("#name").prop("tagName"); 或者 $("#name")[0].tagName; 注意:1.得到的 ...
- 【流量劫持】SSLStrip 终极版 —— location 瞒天过海
前言 之前介绍了 HTTPS 前端劫持 的方案,虽然很有趣,然而现实却并不理想.其唯一.也是最大的缺陷,就是无法阻止脚本跳转.若是没有这个缺陷,那就非常完美了 -- 当然也就没有必要写这篇文章了. 说 ...
- CYQ.Data 从入门到放弃ORM系列:开篇:自动化框架编程思维
前言: 随着CYQ.Data 开始回归免费使用之后,发现用户的情绪越来越激动,为了保持这持续的激动性,让我有了开源的念头. 同时,由于框架经过这5-6年来的不断演进,以前发的早期教程已经太落后了,包括 ...