Python的一些用法(可能不定时更新)

strip()、lstrip()、和rstrip()

Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

lstrip()就是从左边匹配然后删除字符,rstrip()从右边匹配然后删除字符。

表面上挺好理解的,但是用起来还是有一些陷阱。

如:

可以看到,虽然左侧开头的’abc’和’bac‘顺序不同,但lstrip()方法依旧将其匹配然后删除了。

所以如果我只是要删除开头的某一部分,比如获取<a>标签内的字符:

就会把<a>标签内容的最左边的a给匹配到了。

那么如何实现只根据字符顺序,匹配前面的字符呢?

用正则表达式:re.sub()

Python 的 re 模块提供了re.sub用于替换字符串中的匹配项。

语法:

参数:

  • pattern : 正则中的模式字符串。
  • repl : 替换的字符串,也可为一个函数。
  • string : 要被查找替换的原始字符串。
  • count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。

使用该方法:

js的indexOf()对应python的index()

对于数组而言:

js的indexOf()返回元素在数组中的下标:

python里也有一个名字很像的index

但对于字符串:

对于js而言,依旧可以使用indexOf()函数。

找得到的情况:

找不到的情况:

找不到时,输出-1。

而python的index在字符串中找不到时,将抛出异常。

index()方法在找不到时,并不返回-1。

但find()函数在找不到时可以返回-1.

python连接Oracle和MongoDB

这个。。待写,下篇文章再见。

2020.2.9更新:http://www.windypath.com/archives/831

文件读取f.truncate()

关于文件的w,a,r和它们的+,在网上资料很多,这里我只想备份一下:

f.truncate()是将文件清空的函数。

只有在w的模式下可以执行,在a下没有效果,r则抛出异常。

对dict对象的.keys()取出所有键

这是个非常实用的方法。

使用range()和enumerate()对数组遍历

range():传入某个整数,获取从0到该数-1的数组

enumerate():传入某个list,获取每个元素的下标和自身