模块与包
-
模块:即一个
.py
文件,分为内置模块、第三方模块、自定义模块 -
包:存在文件
__init__.py
的目录,管理模块 -
导入
-
import 模块名 import 包名.模块名
,导入一个模块下的所有成员,使用时通过模块名.成员名
引用模块下的变量、函数或者类 -
as
,为导入的模块或者内容起别名,引用时通过别名调用 -
from 模块名/包名.模块名 import *
,导入指定模块下的所有成员,使用时通过成员名即可 -
from 模块名 import 成员1,成员2......
,导入指定模块下的指定成员 -
if
__name__
== '__main__'
,脚本自身运行时会执行if中的代码,如果被别的脚本引用运行则不会执行if中的代码
-
常用内置模块
time
-
sleep(t),暂停t秒
-
localtime(),返回本地时区下当前的日期时间信息
-
time(),返回1970年1月1日到当前时间的时间戳(秒)
-
strftime(fmt),按指定格式返回日期或时间
- %Y,4位年 - %m,2位月 - %d,2位天 - %H,小时 - %M,分钟 - %S,秒 - %X,小时:分钟:秒
random
- randint(a,b),随机返回[a,b]范围内的整数
- uniform(a,b),随机返回[a,b]范围内的浮点数
- choice(iter),随机返回可迭代对象中的一个元素
- sample(iter,len),随机返回可迭代对象中的指定数量的元素,返回的为一个列表
例1:
import random
print(random.randint(1,3))
print(random.uniform(1,3))
li = [1,2,3,4,5,6]
print(random.choice(li))
print(random.sample(li,4))
例2:猜数字。程序开始后由系统随机生成1个1-100之间的整数。用户输入自己猜测的数字,系统判断结果,给出相应的提示,最多猜5次
import random
n = random.randint(1,100) # 系统生成1-100之间的整数
for i in '12345':
m = int(input('请输入1-100之间的整数:'))
if m == n:
print('success')
break
elif m > n:
print('大了')
else:
print('小了')
else:
print('game over',n)
os
- system(command),执行系统命令
- getcwd(),返回当前工作目录
- mkdir(path),创建目录
- listdir(path),以列表返回指定目录下文件名、目录名
- path.exists(path),检查指定的文件或者目录是否存在,存在返回True,否则返回False
- path.isdir(path),检查指定的路径是否为目录,是则返回True,否则返回False
- path.isfile(path),检查指定的路径是否为文件,是则返回True,否则返回False
- path.dirname(path),返回指定文件或者目录的上级目录路径
- path.abspath(file),返回当前文件的绝对路径
- path.join(path,obj),拼接路径,
path/obj
import os
path = '/Users/my/PycharmProjects/pythonProject3/ttt'
print(os.path.exists(path)) # 检查指定文件或者目录是否存在
p = os.path.join(path,'f1.py') # 拼接路径
print(p)
print(os.path.isfile(p)) # 检查指定的路径是否为文件
print(os.path.isdir(p)) # 检查指定的路径是否为目录
p = os.path.abspath(__file__) # 返回当前文件的绝对路径
print(p)
print(os.path.dirname(p)) # 返回指定文件或者目录的上级目录路径