python--集合和文件基本操作

集合

# 集合天生就能去重,集合也是无序的  集合也是{ }  但是空集合定义特殊
s=set()  #空集合
s2 = set('1234445566778')
print(s2)

s3 = {'1','1','3','4','5','6','7','9'}

d = {'k':'v'}  #这个是字典

交集 并集 差集
就是两个集合相同的地方
print(s3 & s2)  #取交集
print(s3.intersection(s2))  #取交集
并集:就是把两个集合合并到一起,然后去重
print(s2 | s3)  #取并集
print(s2.union(s3))  #取并集
s4 = {1,2,3}
s5 = {1,4,6}
差集
   在一个集合里有,在另一个集合里面没有的
   S4里面有,s5里面没有的
  取一个集合存在,另一个不存在的元素
print( s4 - s5)  #取差集
print(s4.difference(s5)) #取差集
对称差集
   俩集合里面都没有
   去掉俩集合里面都有的
print(s4 ^ s5)
print(s4.symmetric_difference(s5))

集合的增删改查

s4.add('ss') #加元素
s4.pop()#随机删一个
s4.remove('ss')#指定删除哪个
s4.update({1,2,3}) #把另外一个集合加进去
s4.isdisjoint(s5)#如果没有交集的话返回true,如果有就返回false
print(s4.isdisjoint(s5))    false

打开文件

#open打开文件(python3   file()--python2里面的打开文件方法
f = open('D:/work/python/djl-20180310/lianxi/day4笔记/歌词',encoding='utf-8')  #打开文件,utf-8 中文
读文件
print(f.read())

print(f.readline())  #只读取一行内容
print(f.readlines())  #把文件里每一行放到一个list里面

f.write('adsfa')   #写入
读模式 r  读写 r+
    1、不能写
    2、文件不存在时会报错
写模式 w  写读模式 w+
    1、文件不存在的时候会帮你自动创建新文件
    2、打开一个已经存在的文件,他会覆盖以前文件的内容
    不能读
追加模式 a  追加读模式 a+
    1、文件不存在的话,会帮你新建文件
    2、打开一个已经存在的文件,不会情况,末尾增加
    3、不能读


c = open('duan','a+',encoding='utf-8')
print(c.read())
print(c.write('段佳林追加'))
print(c.read())

只要有r,文件不存在就报错
只要有w,都会清空原来的内容
a 不存在可以添加,有的话直接追加到末尾,但是读不到内容 

文件指针

f = open('歌词','a+',encoding='utf-8')
a模式默认文件指针在末尾
f.seek(0)   #移动文件指针到最前面
print('read读的内容',f.read())
f.write('这是我写的3')

文件指针:用来记录文件到底读到哪了
f= open('duan','a+',encoding='utf-8')
f.write('hahhah ')
f.seek(0)    #移动文件指针后只能读,写的时候还是在文件末尾写
print(f.read())

1、先随机产生一些手机号
2、写到文件里面
f = open('phonesno','w',encoding='utf-8')
num = input('请输入手机号个数:')
for i in range(int(num)):
    start = '1870042'
    n4_num= str(random.randint(1,9999)).zfill(4)
    phone_num = start + n4_num
    f.write(phone_num+' ')
f.close()

自动关闭文件

with open('geci','a+') as f:
   for line in f:
      pass

原文地址:https://www.cnblogs.com/duanjialin007/p/8749158.html