python的内置库

内置库

一、内置库 os

1、os 概述

1)os: Operating System
2)os 模块的常用功能
3)跨平台的差异

2、os 使用

1)导入 os 模块
2)查看 os 模块使用文档
    help(os)
    dir(os)
import os

# 查看os模块说明文档
help(os)
# 查看os模块的属性和方法
print(dir(os))

3、os 常用方法

(1)os操作系统相关

1)os.name:获取系统名称
2)os.environ:获取系统环境变量信息
3)os.getenv(‘PATH’):获取指定名称的环境变量信息
4)os.system():执行系统指令

import os

# os.name:获取系统名称 nt代表window,posix代表linux
print(os.name)

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

# os.getenv('PATH'):获取指定名称的环境变量信息
print(os.getenv('PATH'))

# os.system():执行系统指令
os.system('pwd')  # linux系统
print(os.system('dir'))  # windows系统
(2)os操作目录相关
1)os.getcwd():获取当前目录
2)os.chdir():切换目录
3)os.listdir():列出当前目录内容
4)os.mkdir():创建空目录
5)os.makedirs():递归创建多级目录
6)os.rmdir():删除空目录
7)os.rename():重命名目录
8)os.remove():删除文件
  """目录相关"""
# 获取当前所在目录 get current directory
print(os.getcwd())
# 切换目录 change directory
os.chdir('..')
# 列出当前目录下的所有文件
print(os.listdir())
# 创建空目录
os.mkdir('new')
# 递归创建多级空目录
os.makedirs('a/b/c')
# 删除空目录
os.rmdir('new')
# 重命名目录
os.rename('a', 'a1')
# 删除文件
os.remove('demo.txt')
(3)os操作路径相关(path 方法)
1)os.path.abspath(path):返回绝对路径
2)os.path.basename(path):返回文件名
3)os.path.dirname(path):返回文件路径
4)os.path.split(path):分割路径
5)os.path.join(path):拼接路径
6)os.path.exists(path):判断路径是否存在
7)os.path.isdir(path):判断是否是目录
8)os.path.isfile(path):判断是否是文件
9)os.path.getsize(path):获取文件大小
# 返回绝对路径
print(os.path.abspath("./os_demo.py"))
# 返回文件名
print(os.path.basename("/Users/test/coding/pythonProject/course/os_demo.py"))
# 返回文件路径
print(os.path.dirname("/Users/test/coding/pythonProject/course/os_demo.py"))
# 分割路径
print(os.path.split("/Users/test/coding/pythonProject/course/os_demo.py"))
# 拼接路径
print(os.path.join("/Users/test/coding/pythonProject/course", "os_demo.py"))
# 判断路径是否存在
print(os.path.exists("/Users/test/coding/pythonProject/course/os_demo.py"))
print(os.path.exists("./os_demo.py"))
# 判断是否是目录
print(os.path.isdir("../demos"))
# 判断是否是文件
print(os.path.isfile("./hello.py"))
# 获取文件大小
print(os.path.getsize("/Users/test/coding/pythonProject/course/os_demo.py"))

二、内置库sys

1、sys 概述

1)是 Python 自带的内置模块
2)是与 Python 解释器交互的桥梁

2、sys 使用

# 导入sys模块
import sys
# 查看sys模块帮助文档
help(sys)
# 查看sys模块的属性和方法
print(dir(sys))

3、sys 常用属性

1)sys.version:返回 Python 解释器版本
2)sys.platform:返回操作系统平台名称
3)sys.argv:返回外部向程序传递的参数
4)sys.modules:返回已导入的模块信息
5)sys.path:返回导包的搜索路径列表
"""sys模块常用属性"""
# 返回Python 解释器版本
print(sys.version)
# 返回操作系统平台名称
print(sys.platform)
# 返回外部向程序传递的参数
print(sys.argv)
# 返回已导入的模块信息
print(sys.modules)
print(sys.modules.keys())
# 返回导包的搜索路径列表
print(sys.path)

4、sys 常用方法

1)sys.getdefaultencoding():获取编码方式
2)sys.exit():运行时退出
"""sys模块常用方法"""
# 获取系统当前编码
print(sys.getdefaultencoding())
# 运行时退出
sys.exit()

三、内置库文件处理

1、IO 操作

2、文件操作步骤

(1)open 方法

  • 打开文件

  • 操作文件:读/写内容

  • 关闭文件(读写完成,要及时的关闭)

    • file:文件路径;
    • mode:读取模式
    • buffering:缓冲区的大小(默认为-1,0为关闭缓冲区,1遇到换行符才写入磁盘)
    • encoding:编码
    • errors:遇到编码/解码错误时是否抛出来
    • newline:换行符,如-r,-n
    • closefd:文件描述符
def open(file, mode='r', buffering=None, 
encoding=None, errors=None, newline=None, 
closefd=True):

3、文件读写模式

4、读操作

5、写操作

1)mode=“w+”, 读写权限,会新建文件,清空内容再写入
2)mode=“r+”, 读写权限,替换原来的内容
3)mode=“a+”, 读写权限,追加内容
# 第一步:(以只读模式)打开文件
f = open('data.txt', 'r', encoding='utf-8')  

# 第二步:读取文件内容
# print(f.read())
# print(f.read(15))  # 换行符会占一个字符
result = f.read()
print(type(result))
# 读完一次之后,再次读取文件,内容将不是完整的,需要重新设置游标位置
# 设置游标位置
f.seek(0)
result1 = f.readlines()
print(type(result1))
print(result1)

# 第三步:关闭文件
f.close()

6、忘记关闭文件的危害

1)打开文件达到一定数量, 将会导致打开失败
2)占用内存空间,非常浪费资源
3)会导致系统自动回收资源,而丢失数据

7、with 用法

使用 with 方法,会自动完成关闭操作
with open('data.txt', 'r', encoding='utf-8') as f:
    print(f.read())
print(f.closed)   ## 查看关闭状态

总结

1)使用 with 方法,会自动完成关闭操作
2)通过 python 封装的 API,可以实现读,写,追加操作
3)文件打开要使用utf-8的编码格式(以免中文出现乱码)

四、内置库科学计算

1、math 函数

math 函数,python 提供的内置数学类函数库,包含了很多数学公式。
比如幂函数运算,三角函数,高等函数运算等。

2、math 函数操作

1)数字常数
2)数论与表示函数
3)幂对数函数
4)三角对数函数
5)高等特殊函数

3、数字常量

4、数论与表示函数

5、幂函数与对数函数

6、三角函数

7、高等特殊函数

import math

"""数字常量"""
print(math.pi)
print(math.e)
print(math.inf)
print(math.nan)
"""数论与表示函数"""
# 向上取整,取>4.3 的最小的整数5
print(math.ceil(4.3))
# 向上取整,取>-4.3 的最小的整数-4
print(math.ceil(-4.3))
# 向下取整,取<4.3 的最大的整数4
print(math.floor(4.3))
# 向下取整,取<-4.3 的最大的整数-5
print(math.floor(-4.3))
"""幂函数与对数函数"""
print(math.pow(2, 10))
print(math.sqrt(3))


"""
练习:天天向上的力量

一年365天,以第1天的能力值为基数,记为1.0,
当努力学习时,能力值相比前一天提高1%,
当没有学习时能力值相比前一天下降1%。
(每天努力和每天放任,一年下来的能力值相差多少呢? )
"""
# 当努力学习时,能力值相比前一天提高1%
print(math.pow((1.0 + 0.01), 365))
# 当没有学习时能力值相比前一天下降1%
print(math.pow((1.0 - 0.01), 365))