内置模块的导入
import关键字将模块整体导入,可以一次性导入多个模块,使用时需要math.sqrt()。
from xxx import xxx具体导入某一个子模块或函数,使用时直接sqrt(),不需要math.sqrt()。
as关键字给模块起别名
from math import sqrt as squarte
自定义模块
同一目录下,可以直接from xxx import xxx
不同目录下,需要from 文件夹.xxx import xxx
__name__ 表示当前文件所在模块的名称,模块可以通过检查自己的 __name__ 来得知是否运行在main 作用域中,这使得模块可以在作为脚本运行时条件性地执行一些代码,而在被 import 时不会执行。直接被运行的文件才是main作用域
if __name__ == '__main__':
常用内置模块
datetime 日期时间
datetime.now() 返回当前时间
datetime.now().year/month/day 返回当前时间的年/月/日
datetime.now().timestamp() 查看当前时间的时间戳,时间戳即从1970年1月1日00:00:00到现在的秒数。
datetime.now().strftime('%Y-%m-%d %H:%M:%S'),返回指定格式的当前日期字符串
datetime.strptime('2020-01-01 00:00:00', '%Y-%m-%d %H:%M:%S'),返回指定格式的指定日期字符串
datetime.now().replace(year=2019),返回2019年的今日
两个datetime对象相减,可以得到相差多长时间
datetime.now() + timedelta(days=20),从当前开始的20天后的时间
datetime.now() - timedelta(hours=2,minutes=30),两个半小时之前的时间
time 时间访问和转换
time.time(),返回当前时间戳
time.strftime('%Y-%m-%d %H:%M:%S'),返回当前时间的格式化字符串
time.sleep(3),程序暂停3秒
random 随机数
random.random(),生成一个随机浮点数,范围[0.0, 1.0),不包括1.0
random.randint(1,100),生成1到100之间的随机整数,包括1和100
random.choice([]),从序列中随机抽取一个元素
random.choices([],k=3),从序列中随机抽取k个数,可能会重复
random.sample([]),与choices类似,但是不会重复
random.shuffle(),将一个序列随机打乱,这个序列不能是只读的。
os 操作系统
os.getcwd() 获取当前目录的路径
os.mkdir(path),创建指定的一层目录
os.makedirs(path),创建指定的多层目录
os.listdir(),返回一个列表,包含了path中所有文件和文件夹
os.path.abspath('./') 显示当前目录的绝对路径
os.path.abspath("__file__") 显示当前执行文件的目录
os.path.isdir(path) 如果是目录,则返回True
os.path.isfile() 如果是文件,返回True
os.sep 目录分隔符
os.path.join(path, *paths) 拼接一个路径,不需要指定分隔符
os.path.dirname(path),返回路径的目录名称
os.path.basename(path),返回路径的基本名词,即路径最后一个文件/文件夹名称
sys 系统相关参数
sys.path,返回一个列表,包含若干个路径,表示的是python查找包的路径顺序。可以通过sys.path.append(' ')来增加导入的路径
sys.argv 表示启动的时候传递给python脚本的命令行参数