文件基本操作:

  现有文件file.txt

  

 f=open('file.txt','r')#以只读方式打开一个文件,获取文件的句柄,如果是读的话,r可以不写,默认就是只读;文件不存在时,会报错
first_line=f.readline()#获取文件的第一行内容,返回的是一个list
print(first_line)#打印第一行
res=f.read()#获取除了第一行剩下的所有文件内容
print(res)
f.open()#关闭文件
7 f.read()#读取文件里面所有的内容,返回的是字符串
8 f.readline()#只读取一行的内容,返回的是字符串
9 f.readlines()#读取文件里面所有的内容,返回的是一个list #list里每个元素是每行的数据
10 f.write()#只能写字符串
11 f.writelines()写可迭代对象

打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄(句柄理解为该文件),后面通过此文件句柄对该文件操作,

打开文件的模式有:

  r,只读模式(默认)

  w,只写模式。【不可读;不存在则创建;存在则删除以前的内容,然后写入新的内容】

  a,追加模式。【不可读;不存在则创建;存在则只追加内容】

“+”表示可以同时读写某个文件:

  r+,【可读,可写;可追加,如果打开的文件不存在的话,会报错】

  w+,【写读模式,使用w+的话,已经存在的文件内容会被清空,可以读到已经写的文件】

  a+,【追加读写模式,不存在则创建;存在则只追加内容】

 f=open('ybq.txt','a+',encoding='utf-8')
f.seek(0)#seek移动指针的时候,只对读好使,对写不好使
print(f.read())#读取文件里面的全部内容
f.write('yunbenking'+'\n')
f.truncate()#清空文件内容
f.tell()#查看当前文件指针的位置
print(f.readline())#只读取一行的内容
print(f.readlines())#读取文件里面的所有内容,把文件里面每一行的内容放到一个list
for k in f:
print(k)
names=['ybq','mpp','tlx','ply','yjy']
st='ybq,mpp,tlx'
tu=('sdf','sdfs','sdfsd')
f.write(names)#必须是字符串类型
f.writelines(names)#写入的时候,传入一个可迭代对象就行了
f.close()

高效处理文件:

  

 fw=open('ybq.txt')
count=1
#直接循环文件对象的话,就是循环文件里面的每一行
for f in fw:
print('第%s行'%count,f)
count+=1 for f in fw:
f=f.strip()
stu_lst=f.split(',')
print(stu_lst)

写入文件的方法:

方法一:write将list写入文件,write写入字符串

 names=['a','b','c']
for name in names:
f.write(name)

方法二:writelines直接写入,writelines传入可迭代对象,会先循环

 names=['a','b','c']
f.writelines(names)
 s='dingfei,123456'
f.write(s)#直接写入字符串,所以可以直接写入,效率高
f.writelines(s)#写入可迭代对象,所以先循环字符串,所以效率不高
 import time
f=open('hahah','w')
f.write('sdfggg')
f.flush()#立即把缓冲区里面的内容写到磁盘里面,写入的时候需要缓冲区满了才会写到磁盘里
time.sleep(50)

with的用法:

 with open('a.txt','w') as gy:
gy.write('hhh')#自动的当文件不在用时直接关掉 #打开多个文件
with open('a.txt','w') as gy,open('b.txt') as gy2:
gy.write('hhh')
gy2.write('sdfs')

打开图片样式:

 f=open('5.png','rb')#bytes,以二进制模式打开
print(f.read())

修改文件:将下列歌词中的‘一’全部换成‘二’

    寂寞当然有一点

        你不在我身边

        总是特别想念你的脸

        距离是一份考卷

        测量相爱的誓言

        最后会不会实现

        我们为爱还在学

        学沟通的语言

        学着谅解

        学着不流泪

        等到我们学会飞

        飞越黑夜和考验

        日子就要从孤单里毕业

        我们用多一点点的辛苦

        来交换多一点点的幸福

        就算幸福

        还有一段路

        等我们学会忍耐和付出

        这爱情一定会有张证书

        证明

        从此不孤独

        从此不孤独

方法一:将文件完全替换后,清空内容,再重新写入

 with open('geci','a+',encoding='utf-8') as f:
f.seek(0)
all=f.read()
new_all=all.replace('二','一')
f.seek(0)
f.truncate()#把文件内容清空
f.write(new_all)
f.flush()

方法二:

 import os
with open('geci','a+',encoding='utf-8') as f,open('geci.bak','w',encoding='utf-8') as f2:#直接打开两个文件
f.seek(0)
for line in f:
new_line=line.replace('一','二')
f2.write(new_line)#把文件geci里修改的内容写入到文件geci.bak
os.remove('geci')#删除第一个文件
os.rename('geci.bak','geci')#将第二个文件的名字改为第一个

集合:

  集合也是一种数据类型,一个类似列表的东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据。天生去重!

集合的作用:

  1.它可以把一个列表中重复的数据去掉,不需要再写判断

  2.可以做关系测试。取交集,并集,差集

定义集合:

 s=set()#定义了一个空的集合
s2={'','',''}#这种方式是直接定义一个集合;如果有冒号是字典,没有冒号就是集合
list=[2,3,1,2,3,4]
s_list=set(list)#这样就定义了一个集合
set1=set([1,3,4,5,6])#这种方式和上面的都是把list转换成一个集合

集合操作:

 list1={1,2,3,4,5,6,9}
list2={2,3,4,6,1}
list3={1,2,3}
print(list1.intersection(list2))# 取交集,也就是取list1和list2中都有的
print(list1&list2)# 取交集,也就是取list1和list2中都有的
print(list1.union(list2))# 取并集,也就是把list1和list2合并了,然后去除重复的
print(list1 | list2)# 取并集
print(list1.difference(list2))#取差集 在list1中存在,在list2中没有的
print(list1 - list2)
list1.add(888)#添加元素
list1.update([777,666,666])#添加元素
list1.remove(777)#删除元素,如果元素不存在会报错
list1.pop()#删除一个随机的元素,并返回删除的元素
list1.discard('dddd')#如果删除的元素存在,删除,不存在不做处理

python学习笔记(五)文件操作和集合的更多相关文章

  1. python学习笔记:文件操作和集合

    一.文件操作 文件读写步骤:有一个文件,打开文件,操作文件读写文件,关闭文件. python 文件读写模式r,r+,w,w+,a,a+的区别(附代码示例) 模式 可做操作 若文件不存在 是否覆盖 r ...

  2. python学习笔记(三):文件操作和集合

    对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 文件基本操作: f = open('file.txt','r') #以只读方式打开一个 ...

  3. python学习笔记(五)-文件操作2

    一.文件修改 现有文件file.txt,内容如下:二十四节气歌春雨惊春清谷天,夏满芒夏暑相连.秋处露秋寒霜降,冬雪雪冬小大寒.上半年逢六廿一,下半年逢八廿三.每月两节日期定,最多相差一二天.要求:将文 ...

  4. python学习笔记之文件操作(三)

    这篇博客小波主要介绍一下python对文件的操作 对文件的操作主要分为三步: 1.打开文件获取文件的句柄,句柄也是文件描述符 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件,是小波随写的周杰伦 ...

  5. python学习笔记4(文件操作)

    文件操作: 1.f=open(”caidan”,”w”,encoding=”utf8”)      直接打开一个文件,如果文件不存在则创建文件 f.close() 2.with open (”caid ...

  6. python学习笔记三 文件操作(基础篇)

    文件操作 打开文件 open(name[,mode[,buffering]])   open函数使用一个文件名作为强制参数,然后返回一个文件对象.[python 3.5 把file()删除掉]   w ...

  7. Python学习笔记 - day5 - 文件操作

    Python文件操作 读写文件是最常见的IO操作,在磁盘上读写文件的功能都是由操作系统提供的,操作系统不允许普通的程序直接操作磁盘(大部分程序都需要间接的通过操作系统来完成对硬件的操作),所以,读写文 ...

  8. python学习笔记(六)---文件操作与异常处理机制

    文件读取 读取整个文件 要读取文件,需要一个包含几行文本的文件.下面首先来创建一个文件,它包含精确到小数点后30位的圆周率值,且在小数点后每10位处都换行: pi_digits.txt 3.14159 ...

  9. 我的Python学习笔记之文件操作

    一,Python的文件类型有两种 1.文本文件 2.二进制文件 文件的操作: 1.打开文件,获取文件的控制权 2.读写文件 3.关闭文件,释放文件的控制权,如果不释放控制权,那么其他程序就不能访问此文 ...

  10. python学习笔记(四)-文件操作

    文件读写"""一.文件打开有3种方式 1.读 r #如果打开的文件的时候没有指定模式,那么默认是读 读写模式 r+,只要沾上r,文件不存在的时候,打开都会报错 2.写 w ...

随机推荐

  1. 测开之路六十三:UI测试平台之视图层

    实现效果,在页面时配置 后台执行 蓝图结构 视图代码 from flask import jsonifyfrom flask import requestfrom flask import Bluep ...

  2. mysql 8.X.X版本多个ip限制访问

    随笔记录,由于客户要求数据库不同ip访问,查了很多,多数都是ip段或者所有ip可以访问: select user,host from user;可以查看某些用户可以访问的ip:但只能设置一个用户一条记 ...

  3. 使用TensorFlow的基本步骤

    学习任务 学习使用TensorFlow,并以california的1990年的人口普查中的城市街区的房屋价值中位数作为预测目标,使用均方根误差(RMSE)评估模型的准确率,并通过调整超参数提高模型的准 ...

  4. is_numeric漏洞总结

    将16进制数据判断为数据,这样在存入数据库后,数据库会把16进制解析成字符串,可能造成二次注入 转载: https://www.jianshu.com/p/e7cf997d6ccb

  5. Mac apache You don't have permission to access / on this server.

    在mac下配置完apache和php环境后,通过localhost访问页面,出现403Forbidden.页面提示: Forbidden You don't have permission to ac ...

  6. 《JAVA设计模式》之享元模式(Flyweight)

    在阎宏博士的<JAVA与模式>一书中开头是这样描述享元(Flyweight)模式的: Flyweight在拳击比赛中指最轻量级,即“蝇量级”或“雨量级”,这里选择使用“享元模式”的意译,是 ...

  7. 问题 1436: 地宫取宝 (dp)

    题目传送门 时间限制: 1Sec 内存限制: 128MB 提交: 423 解决: 94 题目描述 X  国王有一个地宫宝库.是  n  x  m  个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标 ...

  8. Python之文件路径名的操作

    使用 os.path 模块中的函数来操作路径名 import os # 获取当前文件路径 path=os.path.abspath(__file__) # 获取绝对路径 /home/zzy/Pycha ...

  9. 【学习总结】GirlsInAI ML-diary day-21-初识 Numpy, Matplotlib, Seanborn [柱状图、折线图、箱图]

    [学习总结]GirlsInAI ML-diary 总 原博github链接-day21 初识 Numpy, Matplotlib, Seanborn [柱状图.折线图.箱图] 一.Titanic练习赛 ...

  10. JS中的reduce函数

    海纳百川,有容乃大 定义: reduce()方法接受一个函数作为累加器,数组中的每个值(从左向右)开始缩减,最终计算为一个值.对空数组是不会执行回调函数的. 案例: 计算数组总和: var num = ...