python中的常用库

常用库的导入方法

导入单个库直接使用import,导入某一个库中的某一个方法使用from+库名+import+方法
导入多个库使用import导入,使用都好隔开

#导入单个库
import datetime
print(datetime.date.today())

#2019-08-12

#导入多个库
import time,datetime
print("当前时间:",time.time())
print("当前日期:",datetime.datetime.today())

#当前时间: 1565606461.8743038
#当前日期: 2019-08-12 18:41:01.874304

#导入某一个库中的某一个方法
from datetime import date
print(date.today())

#2019-08-12

在这里插入图片描述
Import导包,一般只能导入统一路径下的程序,当程序出现如图所示样式,test程序中,要导入test1程序,会出错,这是因为import导包时,test1不在首选的路径中,(这些路径可以通过sys.path看到),sys.path是一个列表,因此只要把test1添加入这个列表中就行,添加的东西需是两个程序共同的父目录(modulel)。
可以看到test和test1同在modulel这个目录中,因此要拿到modulel这一级目录
os.path.abspath(file):__file__表示当前程序或文件,os.path.abspath().可以拿到本程序的路径。
os.path.dirname(os.path.abspath(file)):拿到当前文件的父目录
os.path.dirname(os.path.dirname(os.path.abspath(file))):找到modulel这一级目录(也就是test程序和test1共同的目录)
最后把拿到的目录插入sys.path列表中。

此时,再导入test1时,程序正常运行。

常用库
时间模块(time)
'''时间模块(time)'''
import time

time.sleep(3)
print("*****************")

#*****************(停止三秒打印)

print(time.time())            #记录当前时间

#1565607366.0830739

print(time.localtime())       #详细记录当前时间


#time.struct_time(tm_year=2019, tm_mon=8, tm_mday=12, tm_hour=18, tm_min=56, tm_sec=45, tm_wday=0, tm_yday=224, tm_isdst=0)

print(time.timezone)            #时区

#-28800

print(time.daylight)             #夏令时

#0

time.sleep(3)                   #程序停止几秒

print(time.gmtime())

#time.struct_time(tm_year=2019, tm_mon=8, tm_mday=12, tm_hour=10, tm_min=58, tm_sec=29, tm_wday=0, tm_yday=224, tm_isdst=0)

x=time.localtime()
print(time.strftime("%Y-%m-%d %H:%M:%S",x))
 
#2019-08-12 18:59:09

import datetime
print(datetime.date)
print(datetime.time)
print(datetime.datetime)

'''
<class 'datetime.date'>
<class 'datetime.time'>
<class 'datetime.datetime'>
'''

# 获取当前时间
print(datetime.datetime.now())
print(datetime.datetime.now()+datetime.timedelta(5))
print(datetime.datetime.now()+datetime.timedelta(hours=5))
print(datetime.datetime.now()+datetime.timedelta(minutes=5))

'''
2019-08-12 18:53:45.603785
2019-08-17 18:53:45.603785
2019-08-12 23:53:45.603785
2019-08-12 18:58:45.603785
'''
随机模块(random)
'''随机数模块(random)'''
import random
print(int(random.random()*10))

#0

print(random.randint(1,5))      #取随机数包括1和5

#1

print(random.randrange(1,2))    #取随机数不包括2

#1

print(random.choice(["1","s","d","db"]))                   #从该对象中随机获取一个元素, 该对象可以是元组,列表,集合

#s

print(random.sample("jfsdihihfis",3))                      #从字符串中随机获取

#['s', 'f', 'j']

print(random.uniform(1,5))    #随机获取浮点型

#2.8336718804871373

l=[4,5,8,7,6,1]   
random.shuffle(l)
print(l)                   #将l中元素重新洗牌

#[4, 5, 6, 1, 8, 7]
sys模块
#sys.argv          获取当前正在执行的命令行参数的参数列表(list)

import sys
 
print(sys.argv[0])
print("------")
for i in sys.argv:
    print(i)

#------


#sys.modules.keys()   返回所有已经导入的模块列表


#sys.platform     获取当前执行环境的平台


#sys.path   path是一个目录列表,供Python从中查找第三方扩展模块。


#sys.exit(n)     调用sys,exit(n)可以中途退出程序,sys.exit(0)表示正常退出,n不为0时,会引发SystemExit异常,从而在主程序中可以捕获该异常。


#sys.version    获取python解释程序的版本信息。


#sys.stdin, sys.stdout, sys.stderr    标准输入,标准输出,错误输出。


#
正则模块(re)
'''re模块'''
import re
# re.match()       #只能从前端开始
res=re.match("^slg\d+46","slg45643134646")          #^表示从头开始
print(res)                                          #\d表示数字,+表示多个
print(res.group())

'''
<re.Match object; span=(0, 14), match='slg45643134646'>
slg45643134646
'''

res=re.match("^.+","dsjdsd456434643")               #.表示任意字符
print(res.group())

#dsjdsd456434643

res=re.match("\d+3","1563532434314179")
print(res.group())

#15635324343

#$从后端开始
res=re.search("8$","hsdkhsdjb564368")                    #判断是否以8结尾
print(res)

#<re.Match object; span=(14, 15), match='8'>

res=re.search("#[a-z]+#","dhfbsj#hellow#45")             #匹配a到z中的#--#之间的字符
print(res)

#<re.Match object; span=(6, 14), match='#hellow#'>

res=re.search("l?","ufdsdfklshfllsfhbfsh2456")           #匹配0次或者1次
print(res)

#<re.Match object; span=(0, 0), match=''>

res=re.search("[0-9]{1,3}","164646df4s6f46s4f")        #匹配1次或者2次或者3次
print(res)

#<re.Match object; span=(0, 3), match='164'>

res=re.findall("A[a-z]{4}l","AsdifldfsAksdjlndskn5")    #将匹配到的放到一个列表中
print(res)

#['Asdifl', 'Aksdjl']

a="ABCDfsdfKHKJabcdhdfshkjhk"
res=re.findall("ABC|abc",a)
print(res)

#['ABC', 'abc']

a="abcabcbabcabababa"
res=re.findall("(ab){2}",a)
print(res)

#['ab']

res=re.findall("ab\|","ab|abc")             #|为特殊字符,需要用\转义
print(res)

#['ab|']

s="abcab12345slg@25312$"
res=re.search("(?P<id>[0-9]+)(?P<name>[a-z]+)",s)
print(res.group())
print(res.groupdict())

'''
12345slg
{'id': '12345', 'name': 'slg'}
'''

res=re.split("[0-9]+","as22h3dj41sf56bh89fj9vj05vf5av")         #用数字分割
print(res)

#['as', 'h', 'dj', 'sf', 'bh', 'fj', 'vj', 'vf', 'av']

res=re.sub("[0-9]","|","as22h3dj41sf56bh89fj9vj05vf5av")       #用|替换数字
print(res)

#as||h|dj||sf||bh||fj|vj||vf|av

res=re.findall("[a-z]+d$","abcd\ndfhds\nthrid",flags=re.M)       #多行模式,改变^和$的行为
print(res)

#['abcd', 'thrid']

res=re.search(".+","hjjf\ngdvsh\ndsf\nssdff",flags=re.S)        #匹配任意字符(包括\n)
print(res)

#<re.Match object; span=(0, 20), match='hjjf\ngdvsh\ndsf\nssdff'>

'''所有的均可以用.*?'''
a=" 在<h1>和</he2>之间"
res=re.findall("<.*?>",a)
print(res)

#['<h1>', '</he2>']
os模块
'''os模块'''
import os
print(os.getcwd())      #获取当前目录

os.chdir(r"c:/")        #切换当前目录
os.chdir(r"D:\学习\.idea\陕理工")
print(os.getcwd())

#返回当前目录
print(os.curdir)    #当前目录
print(os.pardir)    #上一级目录

os.makedirs(r"d:/QQQ/aA")     #逐级创建文件

os.removedirs(r"d:/QQQ/aA")     #逐级删除文件

os.mkdir(r"d:\QQQ\aA\dash")     #逐级创建文件

os.rmdir()                        #删除单级目录

print(os.listdir("."))            #查找当前目录下的所有文件

print(os.listdir(".."))              #返回指定目录下的所有文件和目录名


os.remove("file")              #删除一个文件

os.rename(r"d:\QQQ\WQE",r"d:\md\dk")              #重命名文件

print(os.stat(r"file.txt"))   #输出该文件的属性

print(os.sep)
# 输出系统的转位符win--\,\\  Linux--/ 显示当前平台下路径分隔符

print(os.linesep)            #给出当前平台使用的行终止符

print(os.pathsep)

print(os.environ)            #获取系统环境变量

print(os.name)    #Linux---posix

os.system("dir")            #运行shell命令,注意:这里是打开一个新的shell,运行命令,当命令结束后,关闭shell

print(os.path.dirname(__file__))   #路径名称

print(os.path.isfile())              #判断是否是一个文件

os.path.isdir()                      #当前路径

# os.path.isabs()                        #绝对路径

print(os.join(r"d:",r"\aaa'txt"))    #文件地址拼接

print(os.path.getatime("file.txt"))          #获取最后储存时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值