python 零基础学习之路-06 常用模块

一、time与datetime模块

      time:

     print(time.time())             # 时间戳:1487130156.419527

     print(time.strftime("%Y-%m-%d %X"))      #格式化的时间字符串:'2017-02-15 11:40:53' 

     print(time.localtime())           #本地时区的struct_time

     print(time.gmtime())              #UTC时区的struct_time

      datetime:

     print(datetime.datetime.now())                  #返回 2016-08-19 12:47:03.941925

     print(datetime.date.fromtimestamp(time.time()) )             # 时间戳直接转成日期格式 2016-08-19

     print(datetime.datetime.now() + datetime.timedelta(3))           #当前时间+3天

     print(datetime.datetime.now() + datetime.timedelta(-3))          #当前时间-3天

     print(datetime.datetime.now() + datetime.timedelta(hours=3))     #当前时间+3小时

     print(datetime.datetime.now() + datetime.timedelta(minutes=30))     #当前时间+30分

二、random模块

    random.random()          #大于0小于1的小叔

    random.randint(1,3)         #大于等于1且小于等于三的整数

    random.randrange(1,3)         #大于等于1且小于3的整数

    random.choice([1,'23',[4,5]))       # 1或者23或者[4,5]

    random.sample([1,'23',[4,5]],2))    #列表元素任意2个结合

    random.uniform(1,3)           #大于1小于3的小数

    random.shuffle(item)           #打乱item的顺序

三、os模块    

  os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径   

  os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd

  os.curdir 返回当前目录: ('.')

  os.pardir 获取当前目录的父目录字符串名:('..')

  os.makedirs('dirname1/dirname2') 可生成多层递归目录

  os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推  

  os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname          

  os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname

  os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印

  os.remove() 删除一个文件

  os.rename("oldname","newname") 重命名文件/目录

  os.stat('path/filename') 获取文件/目录信息

  os.sep 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"

  os.linesep 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"

  os.pathsep 输出用于分割文件路径的字符串 win下为;,Linux下为:

  os.name 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'

  os.system("bash command") 运行shell命令,直接显示

  os.environ 获取系统环境变量

  os.path.abspath(path) 返回path规范化的绝对路径

  os.path.split(path) 将path分割成目录和文件名二元组返回

  os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素

  os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素

  os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False

  os.path.isabs(path) 如果path是绝对路径,返回True

  os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False

  os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False

  os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

  os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间

  os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间  

  os.path.getsize(path) 返回path的大小

四、sys模块

   sys.argv 命令行参数List,第一个元素是程序本身路径

   sys.exit(n) 退出程序,正常退出时exit(0)

   sys.version 获取Python解释程序的版本信息

   sys.maxint 最大的Int值

   sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

   sys.platform 返回操作系统平台名称

五、shutil模块

   高级的文件、文件夹、压缩包处理模块

  

六、json、pickle模块

   序列化与反序列化模块

七、xml模块

   xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在json还没诞生的黑暗年代,大家只能选择用xml呀,至今很多传统公司如金融行业的很多系统的接口还主要是xml。

八、shelve模块

   shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型

九、configparser模块

   ConfigParser 是Python自带的模块, 用来读写配置文件, 用法及其简单。

十、hashlib模块

    import hashlib

    m=hashlib.md5()# m=hashlib.sha256()

    m.update('hello'.encode('utf8'))

    print(m.hexdigest()) #5d41402abc4b2a76b9719d911017c592

    m.update('alvin'.encode('utf8'))

    print(m.hexdigest()) #92a7e713c30abbb0319fa07da2a5c4af

十一、subprocess模块

   创建一个新的进程让其执行另外的程序,并与它进行通信,获取标准的输入、标准输出、标准错误以及返回码等。 subprocess模块中定义了一个Popen类,通过它可以来创建进程,并与其进行复杂的交互。

十二、logging模块

  日志模块

十三、re模块

   正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。

   re模块提供的方法:

    re.findall('e','alex make love')    #['e', 'e', 'e'],返回所有满足匹配条件的结果,放在列表里

    re.search('e','alex make love').group()   #e,只到找到第一个匹配然后返回一个包含匹配信息的对象,该对象可以通过调用group()方法得到匹配的字符串,如果字符串没有匹配,则返回None。

    re.match('e','alex make love')   #None,同search,不过在字符串开始处进行匹配,完全可以用search+^代替match

    re.split('[ab]','abcd')   #['', '', 'cd'],先按'a'分割得到''和'bcd',再对''和'bcd'分别按'b'分割

    re.sub('a','A','alex make love',n))   #===> Alex mAke love,不指定n,默认替换所有

猜你喜欢

转载自www.cnblogs.com/liuzeng/p/9167987.html