python-字符串·文件·集合操作
原本这几个应该和列表·字典一起写的,只是我不是一起学的,所以就分开写了。
字符串操作:
特性:不可修改
一些基本语法;
name.find('A') 查找A,找到返回其索引, 找不到返回-1 name.capitalize() 首字母大写 name.casefold() 大写全部变小写 name.center(50,"-") 输出 '---yue---' name.count('lex') 统计 lex出现次数 name.encode() 将字符串编码成bytes格式 name.endswith("w") 判断字符串是否以 w结尾
其他一些可见:http://www.jb51.net/article/47956.htm(相当全)
文件操作:
基本操作:
f = open('xxxx') #打开文件 first_line = f.readline() print('first line:',first_line) #读一行 print('我是分隔线'.center(50,'-')) data = f.read()# 读取剩下的所有内容,文件大时不要用 print(data) #打印文件 f.close() #关闭文件
(一)对文件操作流程:
1·打开文件,得到文件句柄并赋值给一个变量(重点)
2·通过句柄对文件进行操作
3·关闭文件
有人不懂句柄(我也是):从广义上,能够从一个数值拎起一大堆数据的东西都可以叫做句柄。句柄的英文是"Handle",本义就是"柄",只是在计算机科学中,被特别地翻译成"句柄",其实还是个"柄"。然后,指针其实也是一种"句柄",只是由于指针同时拥有更特殊的含义——实实在在地对应内存里地一个地址——所以,通常不把指针说成是"句柄"。
注意:python的文件句柄一次只能用一次,用open打开一个文件句柄,只能被调用一次,如果想再次调用,需要再次用open打开该句柄。
打开文件的模式有:
r,只读模式(默认)。
w,只写模式。【不可读;不存在则创建;存在则删除内容;】
a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
"+" 表示可以同时读写某个文件
r+,可读写文件。【可读;可写;可追加】
w+,写读
a+,同a
"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)
rU
r+U
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
rb
wb
ab
像关闭什么的都没有什么(像我这样的菜鸟是这样认为的。。。)
集合操作:
集合是一个无序的,不重复的数据组合,它的主要作用如下:
去重,把一个列表变成集合,就自动去重了
关系测试,测试两组数据之前的交集、差集、并集等关系
基本操作:
s = set([1,2,3,4,5]) #创建一个数值集合 t = set("Hello") #创建一个唯一字符的集合 a = t | s # t 和 s的并集 b = t & s # t 和 s的交集 c = t – s # 求差集(项在t中,但不在s中) d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中) 基本操作: t.add('x') # 添加一项 s.update([10,11,12]) # 在s中添加多项 t.remove('H') #使用remove()可以删除一项 len(s) #set 的长度 x in s #测试 x 是否是 s 的成员 x not in s #测试 x 是否不是 s 的成员 s.issubset(t) s <=t #测试是否 s 中的每一个元素都在 t 中 s.issuperset(t) s >= t #测试是否 t 中的每一个元素都在 s 中 s.union(t) s | t #返回一个新的 set 包含 s 和 t 中的每一个元素 s.intersection(t) s & t 返回一个新的 set 包含 s 和 t 中的公共元素 s.difference(t) s - t 返回一个新的 set 包含 s 中有但是 t 中没有的元素 s.symmetric_difference(t) s ^ t 返回一个新的 set 包含 s 和 t 中不重复的元素 s.copy() 返回 set “s”的一个浅复制
集合也可去我的第一篇博客。。。。。