内置模块¶
https://docs.python.org/zh-cn/3.9/library/index.html
random¶
import random
# 随机浮点数
random.random() # 0.5842210741472511
random.uniform(10,20) # 14.802146907481868
# 随机整数
random.randint(1,10) # 7
# 在等差数列中随机选一个数
random.randrange(0, 101, 2) # 随机偶数
_list = ['a', 'b', 'c', 'd']
# 随机打乱更新list元素的顺序
random.shuffle(_list) # ['b', 'c', 'd', 'a']
# 从一个非空序列中随机选出1个str
random.choice(_list) # "a"
# 从一个非空序列中随机出n个元素,不过以list格式返回
random.sample(_list, 2) # ['b', 'd']
import string
"""
string.ascii_letters: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
string.digits: '0123456789'
"""
''.join(random.sample(string.ascii_letters + string.digits, 8)) # 'RTePaXy7'
os¶
os模块封装了操作系统的目录和文件操作
注意:有些在os模块中,有些在os.path模块中
另外:shutil 模块是对os模块的一个补充
import os
os.xxx¶
os.name # 操作系统类型(posix代表Linux/Unix/Mac OS X,nt代表Windows)
os.uname() # 获取详细操作系统信息(Windows不支持)
os.environ # 环境变量
os.environ.get('PATH') # 获取PATH变量的值,不存在则报错
os.getenv('X', default=None) # 注意,获取的变量类型是字符串类型
os.mkdir() # 创建目录
os.rmdir() # 删除目录
os.rename() # 重命名文件
os.remove() # 移除文件
os.path.xxx¶
os.path.dirname(__file__) # 获取文件的目录
os.path.dirname(os.path.dirname(__file__)) # 获取上级目录
os.path.abspath(__file__) # 获取文件的绝对路径/完整路径,带文件名
os.path.splitext('/path/to/file.txt') # ('/path/to/file', '.txt')
base_path = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
# 检测文件路径是否存在,不存在则新建
result_path = "/xxx"
if not os.path.exists(result_path):
os.mkdir(result_path)
import os
filename = "./tmp/test.log"
os.makedirs(os.path.dirname(filename), exist_ok=True)
with open(filename, "wb") as f:
pickle.dump(cookies, f)
os.system()¶
os.system("bash command") # 运行shell命令
os.walk()¶
import os
# 基础方法
for dirpath, dirnames, filenames in os.walk(path):
print(dirpath, dirnames, filenames)
"""
har ['haha'] ['11.har']
har/haha [] ['22.har']
"""
# 获取路径下指定后缀的所有文件名
def get_files(path, file_type=None):
_list = []
for dirpath, dirnames, filenames in os.walk(path):
for name in filenames:
_list.append(os.path.join(dirpath, name))
if file_type:
file_list = []
for i in _list:
if os.path.splitext(i)[1] == file_type:
file_list.append(i)
return file_list
return _list
get_files("har") # ['har/v11.har', 'har/1.txt', 'har/haha/22.har']
get_files("har", ".har") # ['har/v11.har', 'har/haha/22.har']
sys¶
import sys
# 查看默认编码
sys.getdefaultencoding() # Py3默认utf-8,Py2默认ascii
# 获取引入模块时会搜索哪些路径
sys.path
# 获取命令行传入的参数列表
sys.argv
"""
比如执行命令:python demo.py arg1 arg2 arg3 ...
sys.argv获取到的参数list为:["demo.py", "arg1", "arg2", "arg3", ...]
"""
ast¶
import ast
_str = "_dcit"
# 如果_str="faker.name()"这种非合法python类型,则会报错
# 另外_str=""也会报错
_dcit = ast.literal_eval(_str)
webbrowser¶
快速启动浏览器打开指定网站
import webbrowser
webbrowser.open("http://baidu.com")
math¶
https://docs.python.org/zh-cn/3.9/library/math.html
最后更新:
2023-08-15