Python基础语法之文件操作
1 读文件
1.1 简单读文件
f = open('text', 'r') # f是文件句柄
data = f.read() # read方法可以加整型参数,是几就读几个字符
print(data)
f.close()
1.2 readline()和readlines()
readline():每次读文件中的一句。
readlines():将整个文件中的字符全部读出,并将其存在一个列表里,列表中的每个元素是文件中的一句。
在读大文件时尽量不要用readlines,太占用内存。
f = open('text', 'r')
a = f.readline()
b = f.readline()
c = f.readline()
d = f.readline()
print(a) # my name is Bob
print(b) # I am 18 years old
print(c) # I like learning
print(d) # I have a dog
f = open('text', 'r')
lines = f.readlines()
print(lines)
# ['my name is Bob\n', 'I am 18 years old\n', 'I like learning\n', 'I have a dog']
1.3 迭代器
文件句柄是一个迭代器,可以通过for循环取出迭代器中的值,节约内存,处理效率更高。
f = open('text', 'r')
for i in f:
print(i.strip())
# my name is Bob
# I am 18 years old
# I like learning
# I have a dog
2 写文件
2.1 清理写
f = open('text', 'w')
f.write('hello world')
f.close()
2.2 非清理写
f = open('text', 'a')
f.write('hello world')
f.close()
3 读取和调整光标的位置
f = open('text', 'r')
print(f.tell()) #
print(f.read(2)) # he
print(f.tell()) #
f.seek(0)
print(f.tell()) #
4 将缓存区内容写进磁盘中
f = open('text', 'w')
f.write('Bob is 32') # 此时文件中并没有写入
f.flush() # 将刚写入缓存区的内容写入到磁盘中
f.close()
5 文件的操作模式
# r+ :从文章起始位置读,从文章最后写
# w+ :从光标后一个字符读,在文章最后写,但是在打开文件时清空文档
# a+ :从文章最后读,正常追加
6 例题:在任意一行的后面添加字符串,并将文件打印出来
with open('text', 'r') as f:
num = 0
for i in f.readlines():
num += 1
if num == 4:
i = ''.join([i.strip(), '***'])
print(i.strip())
7 例题:修改文件中任意一行
with open('text', 'r') as f_read, open('text1', 'w') as f_write:
num = 0 # 计数,在符合行数时修改内容
for line in f_read: # 遍历f_read中的每行
num += 1 # 没遍历一行,计数器加一
if num == 4: # 在第四次遍历时,即在第四行时执行if块语句
line = 'hello\n' # 当在第四行时将文件的内容改为hello
f_write.write(line) # 将处理后的所有字符串写入f_write
Python基础语法之文件操作的更多相关文章
- Python基础7:文件操作
[ 文件操作] 1 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧 ...
- python学习笔记-(七)python基础--集合、文件操作&函数
本节内容 1.集合操作 2.文件操作 3.字符编码与转码 4.函数操作 1.集合操作 集合是一个无序的.不重复的数据组合: 1.1 常用操作 它的作用是: 1)自动去重:列表变成集合,自动去重: &g ...
- Python自动化 【第三篇】:Python基础-集合、文件操作、字符编码与转码、函数
1. 集合 1.1 特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两 ...
- 第三章:Python基础の函数和文件操作实战
本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...
- python基础3之文件操作、字符编码解码、函数介绍
内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ...
- Python基础-week03 集合 , 文件操作 和 函数详解
一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...
- python基础学习笔记——文件操作
文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ...
- Python基础知识(八)----文件操作
文件操作 一丶文件操作初识 ###f=open('文件名','模式',编码): #open() # 调用操作系统打开文件 #mode #对文件的操作方式 #encoding # 文件的编码格式 存储编 ...
- Python基本语法_文件操作_读写函数详解
目录 目录 软件环境 file文件对象 open文件操作 读文件 read读取所有文件内容 readline获取一行内容 readlines读取所有文件内容 readreadlinereadlines ...
随机推荐
- 【hiho1087】Hamiltonian Cycle
题目大意:给定一个 N 个点的有向图,计数图上哈密顿回路的条数. 题解:哈密顿回路需要经过除了初始位置,每个点恰好一次.如果已知一条哈密顿回路的方向,那么从这条路上任意一个点出发,得到的都是同样的结果 ...
- POJ 1149 猪圈买猪 建图太强大!! 没有透彻领悟 慢慢消化
PIGS Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 19575 Accepted: 8948 Description ...
- luoguP3353 在你窗外闪耀的星星
P3353 在你窗外闪耀的星星 题目描述 飞逝的的时光不会模糊我对你的记忆.难以相信从我第一次见到你以来已经过去了3年.我仍然还生动地记得,3年前,在美丽的集美中学,从我看到你微笑着走出教室,你将头向 ...
- cat:连接文件并打印输出到标准输出设备
是 concatenate(连接.连续)的简写.cat 命令可以用来显示文本文件的内容,也可以把几个文件内容附加到另一个文件中,即连接合并文件. cat 命令的基本格式如下: [root@localh ...
- python实现一个朴素贝叶斯分类方法
1.公式 上式中左边D是需要预测的测试数据属性,h是需要预测的类:右边式子分子是属性的条件概率和类别的先验概率,可以从统计训练数据中得到,分母对于所有实例都一样,可以不考虑,所有只需 ,返回最大概率的 ...
- 使用word2vec对中文维基百科数据进行处理
一.下载中文维基百科数据https://dumps.wikimedia.org/zhwiki/并使用gensim中的wikicorpus解析提取xml中的内容 二.利用opencc繁体转简体 三.利用 ...
- qt 程序发布
Qt 程序发布步骤: 注意5.5 以后不再支持 WinXP 1) dll 抽取工具 windeployqt.exe 2) Windows脚本 实例: D:\Qt\Qt5.5.0\5.5\mingw49 ...
- Python3学习笔记(十四):可迭代对象、迭代器和生成器
记得在刚开始学Python的时候,看到可迭代对象(iterable).迭代器(iterator)和生成器(generator)这三个名词时,完全懵逼了,根本就不知道是啥意识.现在以自己的理解来详解下这 ...
- Java操作Redis数据
Redis 是完全开源免费的,遵守BSD协议,先进的key - value持久化产品.它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map),列表(list) ...
- ltelliJ IDEA 创建Maven web项目无src目录的解决方案
https://blog.csdn.net/xiaoke815/article/details/72810976 一.缘由 这几天闲来无事,突然想试试IDEA这个编译器,之前一直都在用Eclipse ...