day3

'''


#data=open("yesterday",encoding="utf-8").read()
f = open("yesterday",'a',encoding = "utf-8") #f文件句柄(文件名,硬盘位置,内容) #r读模式,w写模式。w以写打开文件,创建文件模式,直接覆盖之前文件。
#又想读又想写,a,append,追加,追加到最后。也没读权限
#data = f.read()
#data2 = f.read() #文件读一遍,光标从头走到尾,第二遍,光标已经在结尾,读不出来了

f.write("qqqsdfjlsdf,\n")
f.write("1316546,\n")
#print(data)
#print("data2",data2)

f.close() #关闭文件

'''
f = open("yesterday",'r+',encoding="utf - 8")
#print(f.readline())
#print(f.readline())
#print(f.readline()) #写一句,读一行

#for i in range(5):
# print(f.readline()) #读前5行

#for line in f.readline(): #相当循环每一行一个元素
# print(line.strip()) #不想换行.strip,空格换行去掉
'''这个循环占用内存可能过大
for index,line in enumerate(f.readlines()):

if index == 9:
print("----------分割线----------")
continue
print(line.strip())
++++++++++++++++++++++++++++++++++++++++++++++++++===
count = 0

for line in f:
#一行行读,并只保存一行,内存。效率最高,推荐写法
if count == 9:
print("-------分割线--------")
count +=1 #到第10次就退出
continue
print(line.strip())
count += 1
#读到第10行退出


#f.close()

print(f.readline())
print(f.read(5))
print(f.tell()) #f.tell() 指针的位置
f.seek(0) #指针返回位置

f.encoding #encoding 文件编码
f.errors #做异常管理用的
print(f.fileno())#返回调用的io接口编号
print(f.isatty()) #打印机等终端设备文件
print(f.flush()) #flush 刷新。默认是存入内存缓存中,用这个命令强制刷入硬盘保存。一般重要修改的,强制刷

f.truncate(5) #truncate默认从0截断(就是清空), 从头开始字符位截断。指针位置无关
'''
"""
f = open("yesterday",'r+',encoding="utf-8") #r+,写入的时候,都是从文档末尾写入,不论光标位置
f = open("yesterday",'w+',encoding="utf-8") #w+,先创建个文件
f = open("yesterday",'a+',encoding="utf-8") #a只能追加不能读,a+可以追加读
f = open("yesterday",'rb') #以2进制读取,比如视频
f = open("yesterday",'wb') #以2进制写,不能读
f.write("hello \n".encode()) #以2进制写入

"""
f.close()


+++++++++++++++++++++
进度条
import  sys,time

for i in range(50):
sys.stdout.write("#")
sys.stdout.flush()
time.sleep(0.1)
++++++++++++++++++++++++
集合运算

list_1 = [1,3,5,7,5,9,10]
list_1 = set(list_1)
print(list_1,type(list_1)) #{1, 3, 5, 7, 9, 10} <class 'set'>

list_2 =set([2,4,5,8,10,12,22])
print(list_2,type(list_2))

list_3=list_1.intersection(list_2) #取交集
print(list_3,type(list_3))
print("交集",list_1 & list_2)

print(list_1.union(list_2)) #求并集
print("并集",list_1 | list_2)

print(list_1.difference(list_2)) #差集 1里面有的,2里面没有的。in list_1 but not in list_2
print(list_2.difference(list_1))
print("差集",list_1 - list_2) #在List1中,不在2中

print(list_1.symmetric_difference(list_2)) #对称差集,把2个差集去掉,剩下的。他们里面互相都没有的取出来
print("对称差集",list_1 ^ list_2)

print(list_1.issubset(list_2)) #子集subset

print(list_1.issuperset(list_3)) #父集 upperset

list_1.add(999)
print(list_1) #添加
list_1.update([1,2,3,4,5,]) #添加多项
print(list_1)
list_1.remove("H") #删除。注意,集合无序,且去重

# x in s,x是否在s里面,字典,字符串,集合,都是这样写


print(list_2.isdisjoint(list_1)) #如果没有交集就为true

print(list_1.pop()) #随机删除

list_1.remove("ddd")
print(list_1) #指定删除 不存在,会报错
print(list_1.discard(888)) #指定删除,不存在,不会报错
posted @ 2017-12-28 14:13  怀抱天下De我  阅读(117)  评论(0)    收藏  举报