python之数据类型3和文件操作
一 字典属性方法补充
key是不变的类型,字典能快速查找,基于哈希索引
不可变类型 int bool str tuple 可变类型:list dict set
1 clear :清空
# d={
# 'k1':'v1',
# 'k2':'v2'
# }
# d.clear()
# print(d) #清空
2 Cory:拷贝
# d={
# 'k1':'v1',
# 'k2':'v2'
# }
# a=d.copy()
# print(a) #拷贝
3 fromkeys:生成一个字典,类下面的一个属性方法
a=dict.fromkeys(['k1','k2','k3'],[1,2])
print(a)
4 pop :删除
# d={
# 'k1':'v1',
# 'k2':'v2'
# }
# d.pop('k1')
# print(d) #按照key删除
5 popitem : 删除整个元素
# d={
# 'k1':'v1',
# 'k2':'v2'
# }
# d.popitem()
# print(d) #删除整个键值对
6 setdefault:只添加不修改
# d={
# 'k1':'v1',
# 'k2':'v2'
# }
# d.setdefault('k3','v3')
# print(d) #添加元素
7 update :存在的话跟新,没有就会添加
# d={
# 'k1':'v1',
# 'k2':'v2'
# }
# d.update({'k2':'v3','k3':'v2'})
# print(d) #添加,如果key存在,修改value值
二 集合以及集合的功能
集合内的元素是唯一的,集合内的元素必须是可hash的,也就是可变类型。集合是无序的
1 add :添加不可能重复
# a={'fang','jie','lei','dong','tao'}
# a.add('qq') #添加,如果集合里面有,就不会添加
# print(a)
2 clear :清空
# a={'fang','jie','lei','dong','tao'}
# a.clear() #清空
# print(a)
3 copy :拷贝
# a={'fang','jie','lei','dong','tao'}
# b=a.copy() #拷贝
# print(b)
4 difference :差集只存在一个集合的
# a={'fang','jie','lei','dong','tao'}
# b={'fang','rei','cheng'}
# print(a - b) #差集
# a={'fang','jie','lei','dong','tao'}
# b={'fang','rei','cheng'}
# print(a.difference(b)) #查看差集
5 difference_update:找差集并更新
# a={'fang','jie','lei','dong','tao'}
# b={'fang','rei','cheng'}
# a.difference_update(b)
# print(a) #查找差集并更新
6 symmetric_difference :找对称差集
# a={'fang','jie','lei','dong','tao'}
# b={'fang','rei','cheng'}
# print(a ^ b) #对称差集
#
# a={'fang','jie','lei','dong','tao'}
# b={'fang','rei','cheng'}
# print(a.symmetric_difference(b)) #查看对称差集
7 symmetric_difference_update: 着对称差集并更新
# a={'fang','jie','lei','dong','tao'}
# b={'fang','rei','cheng'}
# a.symmetric_difference_update(b)
# print(a) #查找对称差集并更新
8 discard :根据对象删除
# a={'fang','jie','lei','dong','tao'}
# b={'fang','rei','cheng'}
# a.discard('jie')
# print(a) #删除
9 intersection:交集
# a={'fang','jie','lei','dong','tao'}
# b={'fang','rei','cheng'}
# print(a & b) #交集
# a={'fang','jie','lei','dong','tao'}
# b={'fang','rei','cheng'}
# print(a.intersection(b)) #交集
10 intersection_update:交集并更新
# a={'fang','jie','lei','dong','tao'}
# b={'fang','rei','cheng'}
# a.intersection_update(b)
# print(a) #查找并集并更新
11 union :并集
# a={'fang','jie','lei','dong','tao'}
# b={'fang','rei','cheng'}
# print(a | b) #并集
#
# a={'fang','jie','lei','dong','tao'}
# b={'fang','rei','cheng'}
# print(a.union(b)) #并集
12 isdisjoint :判断是否无交集
# a={'fang','jie','lei','dong','tao'}
# b={'fang','rei','cheng'}
# print(a.isdisjoint(b)) #判断是否无交集
13 iscubset :判断是否是子集
# a={'fang','jie','lei','dong','tao'}
# b={'fang','jie'}
# print(b.issubset(a)) #判断b是不是a的子集
14 issuperset :判断是否是父集
# a={'fang','jie','lei','dong','tao'}
# b={'fang','jie'}
# print(a.issuperset(b)) #判断a是不是b的父集
15 pop 随机删除
# a={'fang','jie','lei','dong','tao'}
# a.pop()
# print(a) #随机删除
16 remove :指定删除
# a={'fang','jie','lei','dong','tao'}
# a.remove('fang')
# print(a) #指定元素删除
17 update :更新
# a={'fang','jie','lei','dong','tao'}
# b={'fang','rei','cheng'}
# a.update()
# print(a) #更新
18 len :长度
# a={'fang','jie','lei','dong','tao'}
# print(len(a))
set一般的情况下,集合属性前面必须放集合,属性后面可以放任意的数据类型,集合里面的值是不可以变得。{}默认是字典,想要创建集合就是set()
三 文件操作
文件的常用方法右
1,r(read):读取文件,只能读取,不能其他操作; r+:不光是可以读取,而且还可以写入,r+是先读取再写入
2 ,w(write):写入文件,只能写入; w+:不过可以写入,而且还可以写入过后再去读取。
3 ,a(append):追加内容,只能追加; a+:追加过后还可以读取文件
# #以bytes类型写入文件
# a=b'\xe4\xbd\xa0\xe4\xb8\xaa\xe5\xa4\xa7\xe5\x82\xbb\xe5\x8f\x89\r\n\xe9\x82\xa3\xe4\xba\xba\xe5\xb0\xb1\xe6\x98\xaf\xe4\xbd\xa0'
# f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','wb')
# b=f.write(a)
# f.close()
#
# #以w覆盖的方式写入
# f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','w',encoding='utf-8')
# b=f.write('dsdf')
# f.close() #
# f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','w+',encoding='utf-8')
# f.write('dsdfdfsd')
# f.seek(0) #seek()指定光标的位置
# a=f.read()
# f.close()
# print(a) # a#追加的方式添加
# f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','a',encoding='utf-8')
# b=f.write('dsdf')
# f.close() ##追加过后再读取
# f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','a+',encoding='utf-8')
# b=f.write('dsdf')
# f.seek(0)
# a=f.read()
# f.close()
# print(a) # #以bytes类型读取
# f=open('E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt',mode='rb')
# a=f.read()
# f.close()
# print(a)
#
# #以utf-8格式读取
# f=open('E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt',mode='r',encoding='utf-8')
# a=f.read()
# f.close()
# print(a) ##先读取在追加
# f=open('E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt',mode='r+',encoding='utf-8')
# a=f.read()
# f.seek(3)
# f.write('jie')
# f.close()
# print(a)
#
文件下的属性操作:
1 read:读取文件
# with open('E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','r',encoding='utf-8')as f :
# obj=f.read()
# print(obj)
2 write:写入文件
#格式2 :
# with open('E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','w',encoding='utf-8')as f :
# f.write('yi')
3 seek:调整光标的位置
# f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','w+',encoding='utf-8')
# f.write('dsdfdfsd')
# f.seek(0) #seek()指定光标的位置
# a=f.read()
# f.close()
# print(a)
4 tell:读取光标的位置
# f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','w+',encoding='utf-8')
# f.write('dsdfdfsd\nfsd\nfgs')
# a=f.tell() #查找光标的位置
# print(a)
5 writable:是否可写
# f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','w+',encoding='utf-8')
# a=f.writable() #判断是否可写
# print(a)
6 readable:是否可读
# f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','w+',encoding='utf-8')
# f.write('dsdfdfsd\nfsd\nfgs')
# f.seek(0)
# a=f.readable() #判断是否可读
# f.close()
# print(a)
7 close:关闭文件
# f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','w+',encoding='utf-8')
# f.write('dsdfdfsd\nfsd\nfgs\ndas')
# f.close() #关闭
8 flush:刷到硬盘
# f=open('E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt',mode='r+',encoding='utf-8')
# a=f.read()
# f.seek(3)
# f.flush() #flush 刷到硬盘
# f.write('jie')
# f.close()
# print(a)
9 fileno:文件对象
# f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','w+',encoding='utf-8')
# f.write('dsdfdfsd\nfsd\nfgs\ndas')
# a=f.fileno() #文件对象
# f.close()
# print(a)
10 isatty :判断是否输出设备
# f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','w+',encoding='utf-8')
# f.write('dsdfdfsd\nfsd\nfgs')
# f.seek(0)
# a=f.isatty() #判断是否是输出设备
# f.close()
# print(a)
11 readline:读取一行内容
# f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','w+',encoding='utf-8')
# f.write('dsdfdfsd\nfsd\nfgs')
# f.seek(0)
# a=f.readline() #只读取整行
# f.close()
# print(a)
12 seekable:判断是否可设置指针
# f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','w+',encoding='utf-8')
# f.write('dsdfdfsd\nfsd\nfgs')
# a=f.seekable() #判断是否可设置指针
# print(a)
13 truncate : 光标后面的内容不要了,只要光标前面的内容
# f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','w+',encoding='utf-8')
# f.write('dsdfdfsd\nfsd\nfgs\ndas')
# f.truncate(5) #指定光标的位置,然后再保留光标前面的内容是删除光标后面的内容
# f.close()
14 readlines:读取所有的内容,然后一块督导内存
# f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','w+',encoding='utf-8')
# f.write('dsdfdfsd\nfsd\nfgs')
# f.seek(0)
# a=f.readlines() #全部读取,返回是列表,元素字符串
# f.close()
# print(a)
python2 中的xreadlines就相当于python3中的for line in f:
# f=open(r'E:\pycharm\pycharm\PyCharm Community Edition 2017.1.3\day7\jie.txt','w+',encoding='utf-8')
# f.write('dsdfdfsd\nfsd\nfgs')
# f.seek(0)
# for line in f:
# print(line)
# f.close()
python之数据类型3和文件操作的更多相关文章
- (Python )格式化输出、文件操作、json
本节学习Python的格式化输出,文件操作以及json的简单用法 1.格式化输出 将非字符串类型转换成字符串,可以使用函数:str() 或者repr() ,(这两个函数的区别目前我还没搞懂,求解答) ...
- python的学习笔记01_5文件操作
一,文件操作基本流程. 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众 ...
- python基础 (编码进阶,文件操作和深浅copy)
1.编码的进阶 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码. 即先将其他编码的字符串解码(decode)成unicode,再从uni ...
- python基础(四)文件操作和集合
一.文件操作 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 1.文件基本操作: f = open('file.txt','r') # ...
- Python 实现隐藏文件夹、文件操作
Python通过win32api 可以实现操作文件夹文件操作,获取属性,修改属性 1.获取属性 通过win32api.GetFileAttributes 方法可以获取属性值 import win32c ...
- python基础之元组、文件操作、编码、函数、变量
1.集合set 集合是无序的,不重复的,主要作用: 去重,把一个列表变成集合,就可以自动去重 关系测试,测试两组数据的交集,差集,并集等关系 操作例子如下: list_1 = [1,4,5,7,3,6 ...
- python 集合、函数和文件操作
1.set集合 set集合是一个无序.不可重复.可嵌套的序列,基本功能是进行成员关系测试和删除重复元素,可以使用大括号({})或者 set()函数创建集合,注意:创建一个空集合必须用 set() 而不 ...
- Python复习笔记-字典和文件操作
抽时间回顾2年前自己做过的python工具,突然感觉不像自己写的,看来好久没用过python的字典和文件操作了,查询资料和网页,整理如下: 一.字典 键值对的集合(map) 字典是以大括号“{}”包围 ...
- 使用 Python 进行稳定可靠的文件操作
程序需要更新文件.虽然大部分程序员知道在执行I/O的时候会发生不可预期的事情,但是我经常看到一些异常幼稚的代码.在本文中,我想要分享一些如何在Python代码中改善I/O可靠性的见解. 考虑下述Pyt ...
随机推荐
- leetcode7
public class Solution { public int Reverse(int x) { ; ) { fuhao = -; } try { x = Math.Abs(x); } catc ...
- js改变div高度
用bootsrap响应式布局的时候,遇到个很恶心的问题:左边栏很短很难看!! 于是,想用js来自动改变左边的高度,没成功!!原来是设置的时候,没加单位,坑爹了. 参考:http://blog.sina ...
- 安装vue.js
1. 下载node https://nodejs.org/dist/v8.11.2/node-v8.11.2-x64.msi 2. 查看npm版本 在cmd下输入命令:npm -v 如果低于3.0版 ...
- vue基础——计算属性和侦听器
计算属性——介绍 模板内的表达式非常便利,但是设计他们的初衷是用于简单计算的.在模板中放入太多的逻辑会让模板太过沉重切难以维护.如下: <div id="example"&g ...
- TPCC-MySQL的安装与使用
Tpcc-mysql 是 percona 基于 tpcc 衍生出来的产品,专用于 mysql 基准测试,其源码放在 bazaar 上( Bazaar 是一个分布式的版本控制系统,采用 GPL 许可协议 ...
- Hibernate hql 多表查询
String hql="select c from Col c ,UserRole role where c.id=role.columnId and c.id=? and role.use ...
- JSP复习(part 3 )
3.4.4 request对象提供了一些用来获取客户信息的方法,利用这些方法,可以获取客户端的IP地址 协议等有关信息 3.5 request对象和response对象相对应,用于响应客户请求,由服务 ...
- fiddler无法抓取chrome解决方法
前端开发中,不可避免的要和服务器端进行联调,少了fiddler这个利器可不行. 由于无线开发需要配置UA,我使用chrome进行访问,但是今儿一早过来,发现fiddler无法抓取chrome的请求了. ...
- ubuntu修改运行级别方法
Ubuntu系统设置启动级别的问题,因自己以前遇到过,故做过笔记记录了下来:Ubuntu.Debian系列与RedHat.CentOS启动级别含义有所区别:Ubuntu系列运行级别定义如下:0 – H ...
- Java HashMap,LinkedHashMap,TreeMap
Java为数据结构中的映射定义了一个接口java.util.Map;它有四个实现类,分别是HashMap Hashtable LinkedHashMap 和TreeMapMap主要用于存储健值对,根据 ...