python字符串操作

爬虫解析Re 之(六 ) --- Re模块

自古美人都是妖i 提交于 2019-11-28 21:51:28
正则表达式 正则表达式其实就是特殊的字符串, 帮助进行检索, 校验, 查询等行为,是对字符串操作的一种逻辑公式, 事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符”,这个“规则字符” 来表达对字符的一种过滤逻辑。 Python提供的正则表达式机制: 需要导入模块 re 正则表达式使用场景 验证的作用: 密码的验证 用户名的验证 邮箱 手机号等等 爬虫: 查询校验 正则表达式的规则 正则表达式处理字符串的强大工具, 拥有自己独特的语法, 并且拥有一个独立处理正则表达式的引擎. 正则表达式处理字符串的效率要比系统本身提供的低, 如果系统的能够完成, 就不用正则表达式 替换 ---- 将字符串中b小写字母 替换成B --- 系统的能完成直接使用系统的即可 替换 ---- 将第一个替换成B 第二个替换成 m --- 系统不能完成 使用正则表达式 在re模块下常用的方法 1. re. compile( 正则表达式的语法 )   根据正则表达式语法生成对应正则表达式对象,方便复用该正则表达式 2. 正则表达式对象 .match( 要进行验证的字符串 )   如果正则表达式语法中没有限制头尾, 验证字符串是否以正则表达式对应字符串开头   如果限制了头尾, 也就是限制了字符串的长度, 验证的字符串内容是否满足正则表达式的需求   如果满足 返回的match对象

python常用模块

孤者浪人 提交于 2019-11-28 21:49:33
os模块: os.remove() 删除文件 os.unlink() 删除文件 os.rename() 重命名文件 os.listdir() 列出指定目录下所有文件 os.chdir() 改变当前工作目录 os.getcwd() 获取当前文件路径 os.mkdir() 新建目录 os.rmdir() 删除空目录(删除非空目录, 使用shutil.rmtree()) os.makedirs() 创建多级目录 os.removedirs() 删除多级目录 os.stat(file) 获取文件属性 os.chmod(file) 修改文件权限 os.utime(file) 修改文件时间戳 os.name(file) 获取操作系统标识 os.system() 执行操作系统命令 os.execvp() 启动一个新进程 os.fork() 获取父进程ID,在子进程返回中返回0 os.execvp() 执行外部程序脚本(Uinx) os.spawn() 执行外部程序脚本(Windows) os.access(path, mode) 判断文件权限(详细参考cnblogs) os.wait() 暂时未知 os.path模块: os.path.split(filename) 将文件路径和文件名分割(会将最后一个目录作为文件名而分离) os.path.splitext(filename)

Python---字符串

落爺英雄遲暮 提交于 2019-11-28 19:52:14
这一篇文章主要是总结字符串的常用用法 (1)字符串拼接 字符串的拼接指的是将多个字符串连成一个新的字符串,如例: s1="hello "'world' print(s1) print(type(s1)) s2="hello" s3="world" s4=s2+s3 print(s3) a=123 b=345 c=str(a)+str(b) print(c) s1="hello" s2=12345 s3=s1+repr(s2) print(s3) 输出结果: hello world <class 'str'> world 123345 hello12345 (2)字符串分割 字符串的分割指的是将字符串按照一定分割方式,分割成多个子字符串,需要用得到的是split() 方法。 spilt()将一个字符串按照指定的分隔符切分成多个子串,这些子串会被保存到列表中( 不包含分隔符 ) 作为方法的返回值反馈回来。基本语法格式如下: str.split(sep,maxsplit) 1、str:表示要进行分割的字符串; 2、sep:用于指定分隔符,可以包含多个字符。此参数默认为 None,表示所有空字符,包括空格、换行符“\n”、制表符“\t”等。 3、maxsplit:可选参数,用于指定分割的次数,最后列表中子串的个数最多为 maxsplit+1。如果不指定或者指定为 -1

python编程入门之二:必备基础知识

家住魔仙堡 提交于 2019-11-28 19:40:56
第二章 学习python前必备的基础知识 大家在上一章中已经可以自己敲出一个猜数字小游戏了,先不要删掉它,以后我们慢慢来改进它。接下来呢,我们再继续学习一些必须要学的基础知识。 2.1 变量 说到变量,就是可以改变的量,它并不是一个值,但它却是内存中的一个地址。什么意思?通俗点讲,当你定义一个a = 3的时候,系统在内存中会给a一个地址,而这个a就是代表一个门牌号,然后小3住在里面,当年调用a的时候,就相当于你喊了一句:小3,出来玩儿了!当你改好了这个房子之后,门牌号a是不能改变的,但住在里面的小3是可以换人的,所以称之为变量,而不是恒量。 看下面的例子: a = 4 b = 5 print(a) print(b) 结果: 结果显而易见,a和b分别叫出了小4和小5.那怎么体现它是可以变得呢?看下面的例子: a = 4 b = 5 print(a+b) a = "Li" b = 'Wang' print(a) print(b) 结果: 结果很明显吧,第一次给a和b分别赋值4和5,然后print了一个a+b,结果是9,也说明print内是可以写一个运算式的;第二次我们给a和b分别赋值了两个字符串,然后打印出来的就是这两个字符串,从而说明这是个变量而不是常量。你想问既然数字可以加,那字符串可以加吗?当然可以,不信你可以自己运行一下下面的代码: a = "Li" b = "Wang"

python 整型,布尔值,字符串相关

为君一笑 提交于 2019-11-28 19:08:24
1.整型(int) 就是所有整数, 2.布尔值(bool) True False 0,"",[],{},(),none为False 3.字符串(str) 字符: 是单一文字符号 字符串: 是多个有序字符序列 字符串只能和字符串相加,拼接 字符串只能和数字相乘 用法: ' ' , " " ,''' ''' , """ """ . 索引 是反应某个位置的字符 索引的下标是从0开始 取字符方式为 s="你好啊" s[1]#就是"好" s[-1]#就是"啊",用-1来取倒数第一个 切片 利用索引来取开始到结束的字符 s="你好我叫xxx" s[0:2]#为"你好" 切片是前取后不取,后面取到后面索引值之前的字符 s[-3:]#为倒数第三个到最后"xxx" 切片默认是从左往右切 步长 s="你好我是xxx" s[0:4:1]#默认步长是1 ,"你好我是" s[0:4:2]#"你我" s[-4::-1]#负数就是倒着取"是我好你" 字符串的相关语法 注:字符串是不可变类型,所有操作不会改变原字符串. .lower() 全部小写 ***.upper() 全部大写 .swapcase() 大小写互换 **.title() 被空格等非字母隔开的单词首字母大写 **.center(字符长度,用哪个字符补) 字符串居中,不够长度左右两边用什么补齐,默认空格 \t , \n tab , 换行 ***

正则表达式(史上最全最实用)

£可爱£侵袭症+ 提交于 2019-11-28 18:22:18
正则表达式(史上最全最实用) 简述 正则表达式式处理字符串的强大工具,拥有独立的语法和独立的处理引擎。 我们在大文本中匹配字符串时,有些情况用str自带的函数(比如find, in)可能可以完成,有些情况会稍稍复杂一些(比如说找出所有“像邮箱”的字符串,所有和julyedu相关的句子),这个时候我们需要一个某种模式的工具,这个时候正则表达式就派上用场了。 先来看看python中find与in的用法: >>>str1 = "this is a string example ... wow!!!" >>>str2 = "exam" >>>print(str2 in str1) # str1包含str2,则返回True,否则返回False True >>>print( "other" in str1) False >>>print(str1.find(str2)) # 从下标0开始搜索,当str2出现在str1中时,返回索引,否则返回-1 17 >>>print(str1.find( "other" )) - 1 >>>print(str1.find(str2, 10 )) # 从下标10开始素搜索,当str2出现在str1中时,返回索引,否则返回-1 17 >>>print(str1.find(str2, 20 )) # 从下标20开始素搜索,当str2出现在str1中时,返回索引

史上最详细的正则表达式教程

最后都变了- 提交于 2019-11-28 18:19:47
正则表达式 正则表达式的作用: 在实际开发过程中经常会有查找符合某些复杂规则的字符串的需要,比如:邮箱、图片地址、手机号码等,这时候想匹配或者查找符合某些规则的字符串就可以使用正则表达式了。 正则表达式概念 正则表达式就是记录文本规则的代码 正则表达式的特点 正则表达式的语法很令人头疼,可读性差 正则表达式通用行很强,能够适用于很多编程语言 re模块的使用过程 在Python中需要通过正则表达式对字符串进行匹配的时候,可以使用一个模块,名字为re # 导入re模块 import re # 使用match方法进行匹配操作 result = re.match(正则表达式,要匹配的字符串) # 如果上一步匹配到数据的话,可以使用group方法来提取数据 result .group() 注意:re.match() 根据正则表达式从头开始匹配字符串数据 开始进入正题 匹配单个字符 代码 功能 . 匹配任意1个字符(除了\n) [ ] 匹配[ ]中列举的字符 \d 匹配数字,即0-9 \D 匹配非数字,即不是数字 \s 匹配空白,即 空格,tab键 \S 匹配非空白 \w 匹配非特殊字符,即a-z、A-Z、0-9、_、汉字 \W 匹配特殊字符,即非字母、非数字、非汉字 # . 匹配任意 1 个字符(除了\n) # [ ] 匹配[ ]中列举的字符[ab456c][a-z] # \d 匹配数字,即

Python 读取配置文件和yaml文件

半世苍凉 提交于 2019-11-28 17:40:32
  一、python使用自带的configparser模块用来读取配置文件,使用之前需要先导入该模块,具体操作如下: 1、先创建config.ini文件    2、创建一个readconfig.py文件,读取配置文件信息 1 import configparser 2 from base.path import config_dir 3 4 class ReadConfig: 5 def __init__(self): 6 configpath = config_dir(fileName='case_data.ini') #配置文件的路径 7 self.conf = configparser.RawConfigParser() 8 self.conf.read(configpath,encoding='utf-8') #读取配置文件 9 10 def get_case_data(self,param): 11 '''返回配置文件中具体的信息''' 12 value = self.conf.get('test_data',param) #获得具体的配置信息 13 return value 14 15 if __name__ == '__main__': 16 17 test = ReadConfig() 18 t = test.get_case_data("username") 19

Day02第二天 Python基础二

老子叫甜甜 提交于 2019-11-28 16:23:10
1 #_Author_: yaoyaoba 2 #_Date_: 2019/11/25 3 4 5 # 一.索引 6 # s = 'ABCDEFGHIJ' 7 # 0123456789 #字母下面对应的数字就叫 下标(又叫索引) 8 #-------------------------------------------- 9 # 根据索引(下标),找到字符串中的某一个元素.) 10 # s = 'ABCDEFGHIJ' 11 # s1 = s[1] #根据索引(下标),找到字符串中的某一个元素. 12 # print(s1) #结果是 B 13 #-------------------------------------------- 14 # 二.字符串的切片 15 # 正取 切片规则:顾头不顾尾 格式:s1 = s[首:尾:步长] 16 # s = 'ABCDEFGHIJ' 17 # s2 = s[0:5] #取的 ABCDE 顾头不顾尾 18 # s3 = s[0:5:2] #取的 ACE 顾头不顾尾 格式:s1 = s[首:尾:步长] 19 #-------------------------------------------- 20 #倒取 切片规则:顾头不顾尾 格式:s1 = s[首:尾:步长] 21 #s = 'ABCDEFGHIJ' 22 # s4 = s[3:

第二章:变量和简单数据类型

拥有回忆 提交于 2019-11-28 15:31:18
第二章:变量和简单数据类型 第二章:变量和简单数据类型 2.2.1 变量的命名和使用 Hello_python.py 一、变量的规则 1)变量名只能包含字母、数子和下划线 2)变量名可以字母或下划线打头,但不能以数子打头 例:正确变量名:message_1 错误:1_message 3)变量名不能包含空格,但可以 使用下划线来分割其中的单词 例:正确变量名:greeting_message 错误:greeting message 4)不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用于单词 例:print for if.... 5)变量名要简单明了又具有描述性 例:name比n好 student_name比s_n好 name_length比length_of_persons_names好 6)慎用小写字母l和大写字母O, 因为它们可能呗人错看成数子1和0 2.3 字符串 name.py first_name.py 1、 变量名.title()方法 title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写 2、 变量名.upper()方法 upper()将字符串内容全部改为大写 3、 变量名.lower()方法 lower()将字符串内容全部改为小写 2.3.3 使用制表符或换行符来添加空白 languages.py 1