• python常用内置模块


    #持续更新

    #在使用内置模块的时候需要导入,例如import abc,则导入abc模块,当然模块也可以自己写,相当于一个类,后面放到类里说,这个因为环境闲置,有些无法执行,只能理解了

    #os系统操作

    import os

    os.system('ls') #调用系统命令,并返回执行结果,os.system('dir')....

    os.popen('ls') #和system相似,system会直接把结果打印到屏幕上,popen可以把结果返回给一个变量,然后可以用read()或for循环来遍历

    os.chdir('/home/myuser/py') #windows可以直接把路径打成'c:mypy'这种,os可以将路径改成通用路径

    dir_path = os.getcwd() #获取到当前目录,结果是当前目录路径'/home/myuser/py'

    os.listdir(dir_path) #获取指定目录下的所有文件和文件夹,结果是一个list

    os.path.isdir(dir_name) #判断指定名称是否是文件夹,假如dir_name是个文件夹,则返回True,否则False

    os.path.join(dir1,dir2,file1) #合并多个路径,可以是dir1,dir2...,file1

    os.mkdir('py') #创建目录,和linux一样,没什么可说的

    os.rmdir('py') #删除目录,必须是个空目录,和linux一样

    os.environ.get(env) #获取环境变量,例os.environ.get('oracle_home')

    os.getenv('my_home') #同os.environ.get(env),未获取到为返回None,不会报错

    os.environ #增加环境变量,用法os.environ[‘ORACLE_HOME’] = ‘oracle_install_path’

    #re正则操作

    import re

    a = "my py it's fucking greate!"

    #几个常用的正则内容,|或,.通配符(同excel的*),?匹配0个或1个,*匹配0个或多个,+匹配1个或多个,\符号,*比如要匹配*需要用转义就是只是个*而不是0个或多个,^匹配行开始,$匹配行结尾

    #(?<=XXX)前视,(?=XXX)后视,这个可以百度,我说不清,一般不会用,爬虫时候用的多

    #[A-Z]大写的全部字母,[a-z]小写的全部字母,[0-9]全部数字

    #正则默认是贪婪模式, .*?这样写是非贪婪模式,(XXX)匹配一个字符串

    re_value = re.compile('^.*? ') #编译正则表达式,这段正则的意思是匹配从开始到第一个空格的内容,正则最好先编译下再用

    re_search = re.search(re_value,a) #在字符串里找正则匹配的,这个不能直接显示需要group

    print re_search.group() #结果是my

    re_find = re.findall(re_value,a) #在字符串里找全部可以匹配的结果,返回一个迭代

    for i in re_find:
      print i #因为只有一行,因此只找到一个,结果是my,可以自己搞多行试试

    re.sub(re_value,'',a) #用''替换re_value,就是把正则匹配的结果替换成空,当然也可以替换成别的,结果是"py it's fucking greate!"

    #sys,这个功能很乱,我也不知道应该怎么归类

    import sys

    sys.argv #取得外部传入参数,返回一个list,平常执行命令python a.py,参数在后面输入,例

    a.py

    a = sys.argv #执行命令python a.py 111 222,执行后a变量的结果是[a.py,111,222]

     sys.path.append('/home/user/bin') #增加python模块导入路径,默认导入路径是python_home,没有会在脚本所在目录寻找加载模块,如果你需要加载的模块不想放在这两个地方,又不想改变python_home变量,那就可以用这个功能了,这个只在当前脚本有效

    #各种随机生成

    import random

    random.randint(1,10) #随机生成一个1到10的随机数,结果可能是1/2/3/4/5/6/7/8/9/10其中任意一个

    a = ['a','b','c'] #搞个a存个list

    random.choice(a) #从a里面随机抽个元素出来,结果可能是'a'/'b'/'c'

    random.uniform(1,10) #随机生成一个1到10的随机小数,结果可能是。。。。。这个我就不写了,你懂的

    #用户及密码

    import getpass

    getpass.getuser() #获取当前操作用户

  • 相关阅读:
    UNIX时间戳/日期转换
    慎用date获取未来时间
    lnmp集成开发环境安装pdo_dblib扩展
    elementary OS下netbeans中文乱码的问题
    一个轻量级javascript框架的设计模式
    debian清空消息通知
    一道数组方面的笔试题
    模拟post提交
    P2970 [USACO09DEC]自私的放牧Selfish Grazing
    P1063 能量项链
  • 原文地址:https://www.cnblogs.com/xiu123/p/8402174.html
Copyright © 2020-2023  润新知