实时处理增量日志最佳实践

主要使用f.seek()和f.tell()实现

字符串处理函数:

s.find(substr, start, end)  查找子字符串,找不到则返回-1,找到则返回对应的索引

s.rfind(substr, start, end)  从右侧开始查找子字符串,找不到则返回-1; 找到则返回对应的索引;返回的结果和find一样,

s.index(substr, start, end)  查找返回子字符串的索引,找不到则报错,报错内容时substring not found

s.rindex(substr, start, end)  从右侧开始查找子字符串,找不到则报错;返回的结果和index一样

s.count(substr, start, end)  统计子字符串出现的次数

s.capitalize()  首字母大写

s.upper()  字符串转大写

s.lower()  字符串转小些

s.swapcase()  字符串大小写互转,大写则转小些,小些则转大写

s.split()  字符串分割变成列表

s.join(list)  使用字符串分割拼接列表

s.startswith(substr)  判断是否以子字符串开头

s.endswith(substr)  判断是否以子字符串结尾

len(str)  字符串的长度

cmp(str1, str2)  比较两个字符串

示例代码如下:

>>> s = "abcdefghijklmn"
>>> s.find("cd")
2
>>> s.rfind("cd")
2
>>> s.find("cd", 4, 9)
-1
>>> s.index("cd")
2
>>> s.index("cd", 4, 9)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found
>>> s.count("cd")
1
>>> s.count("cd", 4.)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: slice indices must be integers or None or have an __index__ method
>>> s.count("cd", 4, 9)
0
>>> s.capitalise()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'str' object has no attribute 'capitalise'
>>> s.capitalize()
'Abcdefghijklmn'
>>> s.upper()
'ABCDEFGHIJKLMN'
>>> s.lower()
'abcdefghijklmn'
>>> s.swapcase()
'ABCDEFGHIJKLMN'
>>> s.split()
['abcdefghijklmn']
>>> s.split("")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: empty separator
>>> s.split()
['abcdefghijklmn']
>>>
>>> list = [str(i) for i in range(9)]
>>> list
[']
>>> "==".join(list)
'0==1==2==3==4==5==6==7==8'

老男孩python学习自修【第二天】字符串用法的更多相关文章

  1. 老男孩python学习自修第二十四天【多进程】

    1. 体验多进程的运行速度 #!/usr/bin/env python # _*_ coding:UTF-8 _*_ from multiprocessing import Pool import t ...

  2. 老男孩python学习自修第二十三天【多线程】

    1. 线程的创建与运行 #!/usr/bin/env python # _*_ coding:UTF-8 _*_ from threading import Thread def foo(param1 ...

  3. 老男孩 python学习自修第二十二天【文件上传与下载】

    1.使用socket实现文件上传 server.py #!/usr/bin/env python # _*_ coding:UTF-8 _*_ import os import SocketServe ...

  4. 老男孩python学习自修【第一天】文件IO用法

    第一天   文件IO处理 1.读文件实例 file_split.python f = file('myFile.txt', 'r') for line in f.readlines(): line = ...

  5. 老男孩python学习自修【第三天】列表用法

    列表的使用: list.append(value) 向列表增加元素 list.insert(index, value) 向列表指定元素插入元素 list.extend(newlist) 用新的列表扩展 ...

  6. 老男孩python学习自修第十六天【常用模块之sys和os】

    例子: sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sys. ...

  7. 老男孩python学习自修第十五天【常用模块之time】

    例如: #!/usr/bin/env python # _*_ coding:UTF-8 _*_ import time if __name__ == "__main__": pr ...

  8. 老男孩python学习自修第十一天【内置函数】

    1.基本内置函数 help() 帮助文档 dir() 列出当前文件的所有变量和方法 vars() 列出当前文件的所有变量及其值 type() 返回变量的类型 id() 返回变量的内存地址 len() ...

  9. 老男孩python学习自修第十九天【异常处理】

    1.常见的错误 TypeError 类型错误 NameError 没有该变量 ValueError 不期望的值 AttributeError 没有该属性 UnboundLocalError 没有该局部 ...

随机推荐

  1. Linux 查看物理 CPU、内存信息

    可以通过本文如下方法查看云服务器 Linux 系统的 CPU.内存相关信息: 说明: 总核数 = 物理CPU个数 × 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 × 每颗物理CPU的核数 ...

  2. npm run dev 在Linux上持久运行

    关于node.js应用程序如何持久运行,我在node.js服务端程序在Linux上持久运行用过. 这次主要是针对是一个vue.js应用程序. vue.js应用程序通常运行命令是npm run dev. ...

  3. 如何理解render: h => h(App)

    学习vuejs的时候对这句代码不理解 new Vue({ el: '#app', router, store, i18n, render: h => h(App) }) 查找了有关资料,以下为结 ...

  4. Vue学习-基本指令

    一.关于vue介绍:https://mp.weixin.qq.com/s?__biz=MzUxMzcxMzE5Ng==&mid=2247485737&idx=1&sn=14fe ...

  5. Postman的Tests标签测试

    接口测试最重要的就是返回数据的检查,一个简单的接口,我们可以肉眼检查返回数据,但接口一旦多起来且复杂,每次的检查都会很费劲,此时我们就需要postman 的tests模块来代替 postman面板: ...

  6. odoo 基于SQL View视图的model类

    在做odoo的过程中,会涉及到多表的查询, 尤其是做报表的时候这种情况更甚,这样下来会做很多的关联,不是很方便.odoo提供了一种机制,即基于视图的model类.代码地址在这里. 具体过程如下: 1. ...

  7. Microsoft.Extensions.DependencyInjection不同版本导致EF出现内存泄露。

    我的代码里将IServiceProvider放入ServiceLocator中遇到的问题. 注:以下所有例子都是Console里的结论,AspNetCore里不管怎么玩都没有问题,有其他帖子测试出在A ...

  8. MongoDB非关系型数据库开发手册

    一:NoSql数据库 什么是NoSQL? NoSQL,指的是非关系型的数据库.NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称. NoSQL用于超 ...

  9. 了解可执行的NPM包

    NPM是Node.js的包管理工具,随着Node.js的出现,以及前端开发开始使用gulp.webpack.rollup以及其他各种优秀的编译打包工具(大多数采用Node.js来实现),大家都开始接触 ...

  10. C++ 通过ostringstream 实现任意类型转string

    #include <iostream> #include <string> using namespace std; int main() { ; double b = 65. ...