python基础dict,集合,文件

字典是一种key:value的数据类型
dict1{
  'stud1':'孙礼昭',
  'stud2':'slz',
  'stud3':'sunlizhao',
}
dict是无序的,key是唯一的  天生去重
增加:
  dict1['stud4'] = '苍井空'
修改:
  dict1['stud4'] = '武藤兰'
删除:
  指定key删除
  dict1.pop('stud3');
  del dict1['stud2']
  随机删除:
  dict1.popitem()
查找:
  标准用法:
  stud1 in dict1
  通过key查找value,不存在会返回none
  dict1.get('stud1')
嵌套:
av_catalog = {
    "欧美":{
        "www.youporn.com": ["很多免费的,世界最大的","质量一般"],
        "www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
        "letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
        "x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"]
    },
    "日韩":{
        "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"]
    },
    "大陆":{
        "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
    }
}

av_catalog["大陆"]["1024"][1] += ",可以用爬虫爬下来"
print(av_catalog["大陆"]["1024"])
#ouput
['全部免费,真好,好人一生平安', '服务器在国外,慢,可以用爬虫爬下来']


其他姿势:
  整个dict的value
  dict1.values()
  整个dict的key
  dict1.keys()

 

 

 

set要求里面的元素必须是不可变的:不能是列表,字典,,但他本身却是可变的,不能用作字典的键
数据类型 :整型 浮点型 字符串 列表 元组(tuple) 字典 布尔 集合
集合是一个无序的,不重复的数据组合,它的主要作用如下:
  去重,把一个列表变成集合,就自动去重了
  关系测试,测试两组数据之前的交集、差集、并集等关系
s = set([3,5,9,10,3,9])     创建一个数值集合 
t = set("Hello")          创建一个唯一字符的集合 

print(a.intersection(b))         交集,把相同的内容取出来 简写(a&b)
print(a.union(b))#                并集,把a和b组成一个大集合合在一块简写(a|b)
print(a.difference(b))#           差级 a里面有的,但b里面没有的 简写(a-b)
print(a.symmetric_difference(b))  反交集,把把没有重复的内容取出来 简写(a^b)

# print(a.issuperset(b))#        b中的每一个元素是否都在a中 a>=b

t.add('x')            # 添加一项  
s.update([10,37,42])  # 在s中添加多项  
 
文件操作
1打开文件,获得文件句柄并赋值给一个变量
2通过句柄对文件进行操作
3关闭文件

打开文件的模式有:

r,只读模式(默认)。

w,只写模式。【不可读;不存在则创建;存在则删除内容;】

a,追加模式。【可读;   不存在则创建;存在则只追加内容;】

r+,可读写文件。【可读;可写;可追加】

w+,写读

a+,同a

"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

rb        wb           ab

  • 模式rr+ww+aa+
    ++ + +
     +++++
    创建  ++++
    覆盖  ++  
    指针在开始++++  
    指针在结尾    ++
 
import os
 f = open('feb8-1.txt','r+')    打开文件
 f.write('hello')              写入内容
 f.read(20)              read()方法就是把所有的数据提取出来,参数限制提取数量,中文英文占位相同
 print(fff.readline())       打印当前游标所在单行
print(fff.readlines())      打印游标之后的所有内容(多行)
 f.close()                    关闭打开的文件

f.tell()                         文件中光标的位置(中:3,英:1)
f.seek(3)            人为的将光标定位到3的位置
f.flush()            将内容从内存写入到磁盘
f.truncate([size])         截取文件,截取的字节通过size指定,默认为当前文件位置。
print(fff.readlines())      打印游标之后的所有内容(多行)
 f.close()                    关闭打开的文件

f.tell()                         文件中光标的位置(中:3,英:1)
f.seek(3)            人为的将光标定位到3的位置
f.flush()            将内容从内存写入到磁盘
f.truncate([size])         截取文件,截取的字节通过size指定,默认为当前文件位置。
<span style="color:#000000">os.<strong><span style="color:#00ff00">rename</span></strong>('当前文件名','新文件名')   os模块进行<span style="color:#00ff00">重命名</span>
os.<strong><span style="color:#00ff00">remove</span></strong>(删除的文件名)              os模块<span style="color:#00ff00">删除文件</span>
os.<strong><span style="color:#00ff00">mkdir</span></strong>('test')                       <span style="color:#00ff00">当前目录下创建新目录</span>test
</span>
os.chdir("/home/newdir")              当前目录改为'/home/newdir'
os.getcwd()                           显示当前的工作目录
os.getcwd()                           显示当前的工作目录
<span style="color:#000000">文件逐行打印,第六行添加字符串
# num = 0
# for i in fff.readlines():
#     num += 1
#     if num == 6:
#         i = ''.join([i.strip(),'----'])
#     print(i.strip())
# fff.close()
</span>
<span style="color:#000000"> </span>
 
 
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值