·集合操作及其相应的操作符表示
集合中没有插入,只有添加,因为毕竟无序
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Vergil Zhang list_1 = [1, 4, 5, 7, 3, 6, 7, 9]
list_1 = set(list_1)
print(list_1, type(list_1)) list_2 = set([2, 6, 0, 66, 22, 8])
print(list_1,list_2) #交集
print(list_1.intersection(list_2))
print(list_1 & list_2)
#并集
print(list_1.union(list_2))
print(list_1 | list_2)
#差集,list_1有而list_2没有的
print(list_1.difference(list_2))
print(list_1 - list_2) list_3 = set([1,3,7])
print(list_3.issubset(list_1)) #判断是否为子集
print(list_1.issuperset(list_3)) #判断是否是父集 #反向差集,取出两个互相没有的
print(list_1.symmetric_difference(list_2))
print(list_1 ^ list_2) list_4 = set([5,6,8])
print(list_3.isdisjoint(list_4)) #如果两个集合没有交集则return true #向集合中添加
list_1.add('x')
list_1.update(['a', 'v', 'b'])
print(list_1) #删除
list_1.remove('a') #删除不存在的元素会报错
list_1.discard('v') #删除不存在的元素不会报错 print(len(list_1)) #list_1的长度
print('a' in list_1) #判断'a'是否在list_1中 #判断x中的每一个元素是否都在list_1中
x = {1, 3}
print(x.issubset(list_1))
print(x <= list_1)
#判断x中的每一个元素是否都在list_1中
print(list_1.issuperset(x))
print(list_1 >= x)
·文件操作
文件操作步骤:
1.打开文件,得到文件句柄并赋值给一个变量
2.通过句柄对文件进行操作
3.关闭文件 文件操作模式:
w:只写
r:只读
a:追加
r+:读写,先读,然后在文件的最后写入
w+:写读,先创建一个文件,写,再读(没什么用)
a+:追加读写
rb:二进制文件读,网络传输都用二进制文件 文件自动关闭
with open() as 文件对象名:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Vergil Zhang #data = open("yesterday.txt", encoding='utf-8').read()
#print(data) #获取文件句柄
file = open("PLANET.txt", 'r', encoding='utf-8')
#print(file.write("我爱北京天安门")) #只是追加内容,在进行其他操作就会报错
#print(file.read()) #读文件
for line in file.readlines():
print(line.strip())
#low loop method
for index,line in enumerate(file.readlines()):
if index == 9:
print('-----------这一行不打印歌词-----------------')
continue
print(line.strip()) #推荐
count = 0
for line in file:
if count == 9:
print(line)
count += 1
continue
print(line)
count += 1 print(file.tell()) #打印出句柄的位置,以字符的个数为准
print(file.readline())
print(file.tell()) file.seek(0) #回到首字符 print(file.encoding) #文件的编码形式 print(file.fileno()) #文件的编号,操作系统维护,不需要关注 print(file.isatty()) #是否是终端设备 print(file.seekable()) #光标是否可移 print(file.flush()) #缓存中内容刷到硬盘中 #强制刷到硬盘 #模拟进度条
import sys
import time
for i in range(20):
sys.stdout.write("#")
sys.stdout.flush()
time.sleep(0.1) file.close()
'''
file = open("PLANET.txt", 'a', encoding='utf-8')
file.truncate(10)
file.close() file = open("PLANET.txt", 'w+', encoding='utf-8')
file.write("lalallalallala........")
file.close() file = open("PLANET.txt", 'rb')
print(file.readline())
file.close()
'''
file_old = open("PLANET.txt", 'r', encoding="utf-8")
file_new = open("PLANET_after.txt", 'w', encoding="utf-8")
for line in file_old:
if "我就是你的行星 围绕在你周围" in line:
line = line.replace("我就是你的行星", "Vergil就是Ann的行星")
file_new.write(line)
file_old.close()
file_new.close() #使用自动关闭
with open("PLANET.txt", 'r', encoding="utf-8") as file:
for line in file:
print(line.strip())

最新文章

  1. 关于Redis的ACID
  2. JavaScript数组定义
  3. 如何获取google可以访问的IP地址
  4. hdu 1812 Count the Tetris
  5. Android GridView 添加 网格线解决办法
  6. IE-一根网线二台电脑上网
  7. Firebug中命令行栏(Commandlinie)的使用介绍和总结
  8. web.config中的profile
  9. iOS开发优秀博客和软件推荐
  10. 用maven搭建java ee项目
  11. MySQL 5.7 安装指南
  12. javascript常见问题总结
  13. Oozie分布式工作流——Action节点
  14. 发布构件到Maven中央仓库
  15. Android Studio SVN使用
  16. OC和C++混编
  17. cordova3.X-4.0添加自定义插件方法
  18. snapkit equalto和multipliedby方法
  19. vue 常见报错问题
  20. Help Jimmy(动态规划)

热门文章

  1. 微信小程序 页面跳转方式
  2. mysql源码版安装
  3. spark优化整理
  4. JS内置对象有哪些?
  5. C#连接sql server windows 和 sqlserver 身份验证的两种连接字符串
  6. PHP运算符知识
  7. Dubbo源码构建
  8. C#中枚举的使用
  9. JDBCUtils——DBCP
  10. EFCore Owned Entity Types,彩蛋乎?鸡肋乎?之鸡肋篇