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后,均指向 ...
随机推荐
- C# Socket网络编程精华篇
我们在讲解Socket编程前,先看几个和Socket编程紧密相关的概念: TCP/IP层次模型 当然这里我们只讨论重要的四层 01,应用层(Application):应用层是个很广泛的概念,有一些基本 ...
- 构建openssl debug版
一.简介 作为一种安全协议,openssl囊括了主要的密码算法.常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用. 参考: http://www.linuxidc ...
- PAT 1065 单身狗(25)(STL-map+思路+测试点分析)
1065 单身狗(25 分) "单身狗"是中文对于单身人士的一种爱称.本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱. 输入格式: 输入第一行给出一个正整数 N(≤ ...
- usaco oct09 Watering Hole
Farmer John希望把水源引入他的N (1 <= N <= 300) 个牧场,牧场的编号是1~N.他将水源引入某个牧场的方法有两个,一个是在牧场中打一口井,另一个是将这个牧场与另一个 ...
- Jmeter发送某个request时而成功,时而失败(处理办法:失败的时候尝试重新发送这个HTTP request)
Jmeter发送某个request时而成功,时而失败 Maybe it’s Jmeter’s problem, after all, is not a commercial software. And ...
- Netty 源码 NioEventLoop(一)初始化
Netty 源码 NioEventLoop(一)初始化 Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) Netty 基于事件 ...
- part1:7-Linux网络配置
1.虚拟机(Vmware)网络配置 VMware虚拟机对于不同的网络环境提供了三种网卡工作模式: Bridged:网桥模式: 在桥接模式下,计算机A充当路由器与虚拟机之间的“桥”,虚拟机通过计算机A的 ...
- 【Jsoup】Jsoup解析Html标签(Java后台解析)
中文API网站(下载地址): http://www.open-open.com/jsoup/ 有时候编辑器传到后台的内容是带Html标签的,或者有时候需要形成一个完整的Html文档,也或者需要解析其中 ...
- Java中创建数组的几种方法
Java中创建数组的几种方法 public static void main(String[] args) { //创建数组的第一种方法 int[] arr=new int[6]; int intVa ...
- 2018.09.10 bzoj1855: [Scoi2010]股票交易(单调队列优化dp)
传送门 单调队列优化dp好题. 有一个很明显的状态设置是f[i][j]表示前i天完剩下了j分股票的最优值. 显然f[i][j]可以从f[i-w-1][k]转移过来. 方程很好推啊. 对于j<kj ...





