Day 8 集合与文件的操作
一、创建集合两种方式.
二、添加元素的方式(add、update"属于迭代添加")
一、集合
# 1. 集合是无序的,不能重复的。
# 2.集合内元素必须是可哈希的。
# 3.集合不能更改里面元素
# 4.集合可以求交集,并集,差集,反交集的. #去重
lis = [1,1,2,2,2,3,4,5,5,5,6]
set1=set(lis)
lis=list(set1)
print(set1)
print(lis)
#结果 :{1, 2, 'alex'} set1=set({1,2,"alex"})
print(set1) set1.add("女神")
print(set1)
# 结果:{1, 2, '女神', 'alex'}
set1.update("abc")
print(set1)
# 结果:{1, 2, '女神', 'alex', 'a', 'b', 'c'} #删除
set1.remove("alex")#按元素删除
print(set1)
#结果 {1, 2, 'b', '女神', 'a', 'c'}
''' set1.clear()#清空集合
print(set1)
#set() #查
for i in set1 :
print(i) #交集 intersection ,两个集合一样的元素为结果
set1={1,2,3,4,5,6}
set2={4,5,6,7,8}
print(set1 & set2)
#或者 intersection
print(set1.intersection(set2)) set1={1,2,3,4,5,6}
set2={4,5,6,7,8}
#并集union ;为两个集合加在一起作为结果
print(set1 | set2)
#或者 union参数
print(set1.union(set2)) #反交集(^) 两个集合对方都没用的元素做为结果
set1={1,2,3,4,5,6}
set2={4,5,6,7,8}
print(set1 ^ set2)
print(set1.symmetric_difference(set2)) #差集 difference :为set1 自己独有的
print(set1 - set2 ) #子集
set1={1,2,3,4}
set2={1,2,3,4,5,6,7,8}
print(set1 < set2) # set1 是set2 的子集
print(set1.issubset(set2))
#结果为True #超集
print(set2 >set1 )
print(set2.issuperset(set1))
#结果为True #frozenset 不可变集合,让集合变成不可变类型. s2=frozenset(set1)
print(s2,type(s2)) 二、文件的操作
#文件的操作
#1. 文件的路径
# 2. 编码方式
# 3.打开方式:只读,只写,读写
''' f=open("C:\Hotfix\python_file.txt",encoding="utf-8",mode="r")
content =f.read()
print(content)
f.close() ''' #可能会产生的错误 1 unicode :文件存储的编码与打开的编码不一致
#路径前加r 或者双//
'''
# 读
#c:\\users\\administrator\\desktop\\new.py -->绝对路径
#同一个文件夹下的文件就是相对路径--->相对路径
f = open("D:\\parcharm\\12\\Day 8\\new.txt","r",encoding="UTF-8")
content=f.read()
print(content)
f.close()
# 打印结果 :孟宾 你好,fafdadfa;dsf #rb一般用于非文件类的文件,图片,视频,文件的下载和上传的功能用b 模式。 ''' #r的五种模式
# 1. f.read()全部读出来
# 2. f.readline()按行读
# 3. f.readlines()每一行作为一个元素防止列表中.
# 4. 推荐方式 循环
'''
f=open("new.txt",encoding="utf-8")
for i in f:
print(i)
f.close()
''' #5.f.read(n)-->读取前几个字符
'''
f= open("new.txt",mode="r",encoding="utf-8")
content =f.read(8) -前八个字符
print(content)
f.close()
''' #new文件内容:孟宾 你好,fafdadfa;dsf
#输出结果 :孟宾 你好,fa ## bytes --> str 用decoding 语句
##只读r ,rb
# read , readline readlines read(n), for 循环. #①写w
f= open("new.txt","w",encoding="utf-8")
f.write("alex是someday")
print(f)
f.close()
#输出了如下一段语句<_io.TextIOWrapper name='new.txt' mode='w' encoding='utf-8'>
#如果没有文件,则创建文件,如果有文件则将原文件内容全部删除再写. #②追加,只追加a
f= open("new.txt","a",encoding="utf-8")
f.write("wusir 紧跟其后")
f.close() #读写 (先读后写)r+
'''
f = open("new.txt","r+",encoding="utf-8")
f.read()
f.write("sdsf")
f.close()
''' #一定要注意先读后写。 #写读w+ '''
f = open("new.txt","w+",encoding="utf-8")
f.write("aaa")
f.seek(0)#把光标移动到开头,按照字节调整.
print(f.read())
f.close() ''' #常用方法 read(),readline(),seek(),f.truncate(3)截取按字节
# read readable ,readline readlines ,for 循环,seek ,tell, write ,writeable ,truncate. # with 语句
with open("new.txt","r",encoding="utf-8")as f1:
f1.read()
print(f1) #一个句子操作多个句柄 。
with open("new.txt","r",encoding="utf-8")as f1, open("new1.txt","r",encoding="utf-8"): #改动文件
# ① 创建一个新的文件
# ② 读取一个原文件
# ③ 将原文件的内容通过你想要的方式进行更改并写入新文件
# ④ 将原文件删除
# ⑤ 将新文件重命名
''' 改动文件方法一 、
import os
with open("D:\\parcharm\\12\\Day 8\\new.txt","r",encoding="utf-8")as f1, open("D:\\parcharm\\12\\Day 8\\new2.txt","w",encoding="utf-8")as f2:
#③ 将原文件的内容通过你想要的方式进行更改并写入新文件
old = f1.read()
new =old.replace("alex","SB")
f2.write(new)
# ④ 将原文件删除
os.remove("new.txt")
# ⑤ 将新文件重命名
os.rename("new2.txt","new.txt")
''' #改进用 for 循环
import os
with open("D:\\parcharm\\12\\Day 8\\new.txt","r",encoding="utf-8")as f1, open("D:\\parcharm\\12\\Day 8\\new2.txt","w",encoding="utf-8")as f2:
#③ 将原文件的内容通过你想要的方式进行更改并写入新文件
for i in f1:
i = i.replace("alex", "SB")
f2.write(i)
# ④ 将原文件删除
os.remove("new.txt")
# ⑤ 将新文件重命名
os.rename("new2.txt","new.txt")
Day 8 集合与文件的操作的更多相关文章
- NO.3:自学python之路------集合、文件操作、函数
引言 本来计划每周完成一篇Python的自学博客,由于上一篇到这一篇遇到了过年.开学等杂事,导致托更到现在.现在又是一个新的学期,春天也越来越近了(冷到感冒).好了,闲话就说这么多.开始本周的自学Py ...
- python学习笔记-(七)python基础--集合、文件操作&函数
本节内容 1.集合操作 2.文件操作 3.字符编码与转码 4.函数操作 1.集合操作 集合是一个无序的.不重复的数据组合: 1.1 常用操作 它的作用是: 1)自动去重:列表变成集合,自动去重: &g ...
- Python 基础篇:字典、集合、文件操作
字典 字典一种key - value 的数据类型 1. 语法: info = { 'stu1101': "TengLan Wu", 'stu1102': "LongZe ...
- Python【第二课】 字符串,列表,字典,集合,文件操作
本篇内容 字符串操作 列表,元组操作 字典操作 集合操作 文件操作 其他 1.字符串操作 1.1 字符串定义 特性:不可修改 字符串是 Python 中最常用的数据类型.我们可以使用引号('或&quo ...
- Python—集合的操作、文件的操作
1.集合的操作 2.文件的操作 1.集合的操作 定义: 1.不同元素组成,自动去重 2.无序 3.集合中的元素必须是不可变类型 1.集合的定义: >>> s1 = set('abcd ...
- Python小白的发展之路之Python基础(二)【字符串、列表、集合、文件操作】
列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1.列表.元组操作 (1)列表 列表是可变的(mutable)——可以改变列表的内容,这不同于字符串和元组,字符串和元组都是不 ...
- python学习-1-列表,元组,字典,集合,文件操作
1. 列表.元组操作 names = ['Alex',"Tenglan",'Eric'] >>> names[0] >>> names[2] & ...
- python03-break、continue、for循环、数据bytes类型、字符串与字节的关系、变量指向与深浅拷贝、set集合、文件操作
目录: 1.break.continue 2.for循环 3.数据bytes类型 4.字符串与字节的关系 5.变量指向与深浅拷贝 6.set集合 7.文件操作 一.break.continue bre ...
- day3 字典,集合,文件
一.深浅copy 浅copy只copy第一层,不copy第二层.copy后,第一层指向不同内存地址.第二层指向相同的内存地址. 导入copy模块,deepcopy深copy.deepcopy后,均指向 ...
随机推荐
- Linux符号连接的层数过多
转:http://blog.csdn.net/ta893115871/article/details/7458869 创建符号链接的时候一定要使用绝对路径,例如:/usr/local/cxxt/con ...
- 如何在64位WIN7旗舰版下安装SQL2000
1>找到安装包下面的“DEVELOPER”或“ENTERPRISE”等下的X86\SETUP下的“SETUPSQL.EXE”,在安装前右键单击这个文 件, 1.1 打开“兼容性”标签,兼容模式选 ...
- 分析maven的优点
1.依赖管理: 就是对jar包的管理. 2.项目的一键构建: 编译--->测试--->运行--->打包--->安装 运行一个maven工程(web工程)只需要一个命令:toma ...
- session总结
1.session是服务器端内存中的一块存储空间. 2.不同的浏览器窗口对应着不同的Session对象,两者的关系由Session ID来进行维护. 3.session的生命周期是以最后一次请求到达服 ...
- .net core webapi 部署windows server 2008 r2 笔记
WebAPI部署文档 安装dotnet-dev-win-x64.1.0.4 安装DotNetCore.1.1.0-WindowsHosting 安装vc_redist.x64 安装Windows6.1 ...
- VMware workstation 设定开机引导等待时间
找到虚拟机磁盘文件所在的目录,编辑里面的扩展名为vmx文件,记事本即可操作,在末尾加入如下一行: bios.bootDelay = "20000" 这里的数字是毫秒,上面例子中的数 ...
- Ubuntu 制作离线安装包
2017-04-07 11:39:59 一.应用场景 Ubuntu在不能上网情况下,又需要安装软件或更新系统 二.离线安装包制作 在一台能正常上网的Ubuntu系统上,安装需要的软件包 $sudo a ...
- wcf服务契约代理链
意图:为了是客户端代理呈现出面向对象的多态的特征 a. 服务端 .契约 实现了契约的继承这个在服务端是一点问题没有,因为oprationcontract可以继承,虽然DataContract不能实现继 ...
- MyIocp 测试截图
根据 小猪的网络教程 学习了 IOCP 并且自己写了一个命令行版本的 客户端测试还是使用的小猪的代码 有兴趣学习IOCP的 建议去小猪的空间看看 代码思路都讲解的很清楚 推荐 http://blog. ...
- 美团点评2017校招笔试真题-算法工程师A
美团点评2017校招笔试真题-算法工程师A 1.下面哪种STL容器的实现和其它三个不一样 A. set B. deque C. multimap D. map 正确答案: B STL的容器可以分为以下 ...