zoukankan      html  css  js  c++  java
  • python常用模块

    常用字符串的方法
    decode
    encode
    startswith
    endswith
    len
    isdigit
    join
    strip
    index
    lower

    love="I love Java"
    print(love.replace("Java","Python"))

    print(love.upper())
    print(love.lower())

    print("i love you".capitalize())#首字母大写

    print(love.startswith('i'))

    list1=["I","love","python"]
    print ("".join(list1))#连接字符串
    love.index("o")


    常用的列表方法
    append
    extend
    count
    insert
    pop
    remove
    reverse
    sort
    len

    为什么有list还要用元组?
    1.元组可以作为字典的key,而list不可以
    2.元组访问速度快
    常用方法:count,index

    模块:
    1.文件读写

    文件实例常用方法;
    with open("a.txt",'r') as f:
    open 打开文件
    f.read():一次性读取文件全部内容
    f.readline():执行一次这个函数读取一行
    f.readlines():一次性读取文件全部内容,并放到一个列表里面,每行是一个列表元素
    f.write():写入内容到文件,不换行
    f.writelines():把一个列表里面所有元素写入到文件,不换行
    f.flush():即时把缓存中的数据输出到文件(不等句柄关闭)
    f.close()关闭
    对于大文件的某一行或你只需要一行,用linecache模块

    2. OS
    常用方法:
    os.listdir():返回指定目录下的所有文件和目录名。不包括子目录
    os.getcwd():返回当前python进程正在工作的目录
    os.stat(file):获得文件熟悉,文件大小,创建时间,最后访问时间
    os.removedirs("/home/test/"):删除多个目录,os.remove()删除目录
    os.system():运行shell命令
    os.path.join(path,name):连接目录与文件名或目录
    os.mkdir(name):创建目录,os.mkdirs(/name1/name2):创建多级目录
    os.path.basename(path):返回路径最后的文件名,纯路径没有文件则返回空
    os.chdir(path):改变目录
    os.path.exists(path):判断该路径是否存在
    os.path.isfile(path)
    实践:
    1.查找/tomcat/log/目录下的log文件,如果文件最后修改时间在1小时之前,把此文件打包压缩,备份都/home/back/log目录下
    2.在linux下每隔1分钟检查一下tomcat进程是不是在运行,如果tomcat进程退出了,立即启动tomcat进程
    3.搜索目录/home/tools/下所有以test开头,py结尾的文件(包括子目录的),把文件全路径输出到一个列表里面打印出来
    3.sys模块
    常用方法:
    sys.path:返回当前pythonpath的列表
    sys.path.append(name):把自己写的Python库放到pythonpath里去
    sys.argv:获取命令行参数
    sys.exit:退出当前python进程
    sys.platform:获取当前系统平台,如win32,linux等
    sys.stdin:标准输入流
    sys.stdout: 标准输出流,sys.stdout.write()=print()
    sys.stderr: 标准错误流
    sys模块实践:
    1.启动一个python脚本run.py,传入参数为/homt/tools/src,把/home/tools/src加入到Python path
    列表信息,如果此目录下没有任何py文件,程序异常退出
    ##run.py:
    import sys
    for i in sys.path:
    if os.path.isfile
    return None
    sys.path.append("/home/tools/src/")

    2.把上面的脚本输出信息通过sys.stdout重定向到log.txt
    f=open(log.txt,'w')
    sys.stdout=f
    print(sys.path)

    4.time/datetime模块
    time常用方法:
    time.time():获取1970.1.1.0:0:0到当前的时间
    time.localtime():获取本地时间
    time.gmtime():获取格里尼治时间
    time.strftime("%y/%m%d %H:%M"):格式化时间格式
    time.strftime("%Y-%m-%d %H:%M:%S %Z")
    time.strftime("%c")
    time.strptime("1 Jan 2018 1:30pm","%d %b %Y %I:%M%p"):字符串时间格式转化为时间
    time.mktime():将时间元组转化为1970/1/1 0:0:0到目前的时间值
    datetime.timedelta:计算两个datetime对象的时间差
    datetime.now()
    def time_delta():
    from datetime import datetime
    from datetime import timedelta
    d1=datetime.strptime('2017-12-05 17:41:20',"%Y-%m-%d %H:%M:%S")
    d2=datetime.strptime('2017-12-03 19:10:28',"%Y-%m-%d %H:%M:%S")
    delta=d1-d2
    print delta

    #后三天
    now=datetime.now()
    days_delta=timedelta(days=3)
    print(now+days_delta)
    #几小时后
    hours_delta=timedelta(hours=0.5)
    print(now+hours_delta)
    #几分钟后
    mins_delta=timedelta(minutes=10)
    print(now+mins_delta)
    time/datetime实践
    将日志中
    DEBUG 180106 21:58:51,607 Receiver_1#....
    ....
    ....
    DEBUG 180106 21:59:38,908 Receiver_4#.....
    计算出处理这个事务所花费的时间
    1. 将字符串转化为时间
    2.计算时间差

    5.commands/subprocess模块
    commands一般用于linux:
    常用方法:
    commands.getoutput(command):获取命令执行后的输出结果
    ls_com=commands.getoutput("ls -al")
    print(ls_com)
    commands.getstatus(command):获取命令执行后的返回状态码
    commands.getstatusoutput(command):返回一个元组,第一个元素是状态码,第二个元素是输出结果

    subprocess可用在window和linux
    常用方法:
    subprocess.call(command.shell=True):执行windows下命令,返回执行状态和结果
    subprocess.check_call(command.shell=True):执行windows下命令,返回执行状态和结果
    subprocess.check_output(command.shell=True):返回执行命令后的输出
    eg:
    subprocess.call("ipconfig -all")
    subprocess.check_call("path", shell=True)
    commands/subprocess实践
    1. 通过windows下的ping命令,得出www.testerhome.com的服务器ip地址
    2. 通过python启动一个windows应用程序
    3. 在linux下启动tomcat进程,并判断tomcat启动是否成功


    6.logging模块
    import logging
    from logging.handlers import RotatingFileHandler

    def log_basic():
    #CRITICAL 50;ERROR 40;WARNING 30;DEBUG 20;INFO 10;NOSET 0.
    logging.basicConfig(filename="web.log", level=0,
    format='%(asctime)s %(name)s %(levelname)s %(module)s:%(linno)d %(message)s')
    #logging.basicConfig(stream=sys.stdout,, level=ine(sys.cfg.get('sysparm','log_level')),
    # format='%(asctime)s %(name)s %(levelname)s %(module)s:%(linno)d %(message)s')

    logging.getLogger("paramiko").setLevel(logging.WARNING)
    logging.getLogger("selenium").setLevel(logging.WARNING)
    logging.debug("this is debug log")
    logging.info("test info log")

    def log_rotate():

    #CRITICAL 50;ERROR 40;WARNING 30;DEBUG 20;INFO 10;NOSET 0.
    format='%(asctime)s %(name)s %(levelname)s %(module)s:%(linno)d %(message)s''
    logging.basicConfig( level=20,
    format='%(asctime)s %(name)s %(levelname)s %(module)s:%(linno)d %(message)s')
    #定义RotatingFileHandler,日志文件大小超过10M时进行旋转,最大5个备份日志文件
    rotateHandler = RotatingFileHandler('you.log',maxBytes=1024*0.01,backupCount=5)
    rotateHandler.setFormatter(logging.Formatter(format))
    logging.getLogger("").addHanlder(rotateHandler)
    logging.getLogger().propagate=False
    logging.info("my log"*500)
    logging实践
    在不同模块中输出log信息到同一个文件test.log上,要求log输出不同级别的log,包括输出异常信息到log文件


    7.ConfigParse模块
    用了解析.ini文件
    ini文件格式
    [tomcat_server]
    ip_address:192.168.22.10
    account:testerhome
    password:123456
    Config实例常用方法:
    config.get('Section','option'):获取指定section下对应option的值
    config.sections():获取配置文件中所有的sections
    config.has_section('section'):判断配置文件中是否有对应section
    config.has_option('section','option'):判断对应section是否有对应的option

    8.MySQLdb/pymysql模块
    常用方法:
    conn=pymysql.connect 建立和mysql数据库的连接
    cursor=conn.cursor() 通过上一步建立的连接获取个cursor对象
    cursor.execute(sql) 执行sql语句,但返回结果不是sql执行的结果,是此sql执行后影响的行数
    cursor.fetchall() 获取sql执行的所有结果,返回结果是个嵌套的元组
    cursor.fetchone() 获取sql执行的结果,只获取第一条
    cursor.close(),conn.close():关闭连接和cursor
    实践:
    连接测试数据库,对其中某个表分别指向select,update,insert,delete语句


    7.shutil模块
    常用方法:
    shutil.copy(src,dst): 复制文件,dst可以是目录,也可以是被复制后带文件名的全路径,
    比如dst=/home/testerhome/,或home/testerhome/newfile.txt
    shutil.copytree(src,dst): 复制目录包括子目录到目标目录
    shutil.rmtree(path):删除目录包括子目录
    shutil.move(src,dst):移动源目录包括子目录的文件到目标目录
    shutil.make_archive(base_name,format):打包压缩文件


    8.re模块
    常用方法:
    re.compile(pattern[,flags])把正则表达式语法转化成正则表达式对象
    re.search(pattern,string[,flags])查找匹配的子串,没有则返回None
    re.match(pattern,string[,flags])
    re.findall()显示出字符串中模式的所有匹配项

    9.json模块
    json.dumps()将python对象转化为json字符串
    json.load() 将json字符串转化为python对象

    10.random模块
    random.random() 0-1之间的浮点数
    random.randint(a,b) a-b之间的整数
    random.choice(seq)随机获取seq中的一个元素
    random.sample(seq, k):随机获取seq中的k个元素
    random.shuffle(list):打乱list里面的元素顺序

  • 相关阅读:
    ERROR Function not available to this responsibility.Change responsibilities or contact your System Administrator.
    After Upgrade To Release 12.1.3 Users Receive "Function Not Available To This Responsibility" Error While Selecting Sub Menus Under Diagnostics (Doc ID 1200743.1)
    产品设计中先熟练使用铅笔 不要依赖Axure
    12.1.2: How to Modify and Enable The Configurable Home Page Delivered Via 12.1.2 (Doc ID 1061482.1)
    Reverting back to the R12.1.1 and R12.1.3 Homepage Layout
    常见Linux版本
    网口扫盲二:Mac与Phy组成原理的简单分析
    VMware 8安装苹果操作系统Mac OS X 10.7 Lion正式版
    VMware8安装MacOS 10.8
    回顾苹果操作系统Mac OS的发展历史
  • 原文地址:https://www.cnblogs.com/jaigejiayou/p/13473002.html
Copyright © 2011-2022 走看看