python自学第七天博客记录 第九章 标准库(2/24)

9.4标准库

9.4.1 sys
sys模块的功能很多,sys模块提供了许多函数和变量来处理Python运行时环境的不同部分
1.识别操作系统

import sys
print(sys.platform)

执行结果:
win32

2.处理命令行参数
“sys.argv”变量可以获取命令行的参数。“argv”是一个list类型的变量,它会返回在命令行中用户输入的参数,如:

import sys
print(sys.argv)

我们可以在命令行终端使用“python 9.4.2.py arg1 arg2”运行代码。
执行结果如下:[python 9.4.2.py arg1 arg2] (都要加“”)
“sys.argv”返回一个列表,列表的第一个元素是文件名本身。第二个元素才是我们运行时指定的参数内容

3.退出程序
执行到主程序末尾,解释器会自动退出,如果需要中途退出程序**,可以调用sys.exit函数**,它带有一个可选的整数返回给调用它的程序,表示你可以在主程序中捕获对sys.exit的调用。(0是正常退出,其他为异常)

4.获取模块搜索路径
在“sys.path”中存储了python结束其需要搜索的所有路径,并且我们可以通过修改该变量修改搜索模块的路径。

import sys

for path in sys.path:
    print(path)

由于sys.path是列表类型的变量,所以我们可以像修改列表一样修改sys.path变量来增加python解释器查找模块的路径。例如:

import  sys
def print_path():
    for path in  sys.path:
        print(path)

print("修改前")

print_path()
sys.path.append("c:\\")
print("修改后")
print_path()

5.查找以导入的模块
**“sys.modules”是一个全局字典,该字典会在python启动后就加载到内存中。每当程序员导入新的模块,“sys.modules”就会自动记录该模块。**当第二次导入该模块时,python会自动到字典中去查找,从而加快程序的速度。“sys.modules”拥有字典所拥有的一切。例如

import sys
print(sys.modules.keys())
print(sys.modules.values())
print(sys.modules["os"])

9.4.2 os

1.获取当前文件所在目录

import os
print(__file__)
print(os.path.dirname(__file__))

file”是python的内置变量,os.path.dirname(file) 表示的是文件当前位置。

2.获取当前路径、以及切换当前路径

import os
print(os.getcwd())
os.chdir("c:\\")
print(os.getcwd())

os.getcwd可以获取当前执行程序的路径,os.chdir可以切换当前的路径,这个例子中的路径对应的是Windows平台。

3.查看指定的路径是否存在

import os
folder = os.path.exists("c:\windows")
print(folder)

os.path.exists可以判断目录或者文件是否存在,如果存在则返回 true 否则返回false

4.重命名文件

import os
os.rename("a.text","b.text")

系统将会把文件a.text 重命名为b.txt(假设已存在)

5.判断给出的路径是否是一个文件
import os
folder = os.path.isfile(“c:\windows\system32”)
print(folder)

os.path.isfile可以判断给出的路径是否是一个文件,如果是则返回true 如果不是或没有就算false

6.判断给出的路径是否是一个目录

import os
folder = os.path.isdir("c:\\windows\\system32")
print(folder)

os.path.isdir可以判断给出的路径是否是一个目录,如果不是或没有就返回false 如果事就算 true

7.获取系统环境变量

import os
for k,v in os.environ.items():
    print(k,"=>",v)

8.创建单层目录

import os
os.mkdir("d:\\01kuaixue")

os.mkdir方法只能创建一个目录,在有父目录的情况下创建子目录,如果父目录不存在则不能创建并输出报错

9.创建多层目录

import os
os.makedirs("d:\\1\\2\\3")

os.makedirs和os.mkdir用法一模一样,只是可以创建多层目录,如果父目录不存在就创建子目录

9.4.3math

math模块实现了正常情况下内置平台C库中才有的很多IEEE函数,我们可以使用浮点值完成复杂的数学运算,包括对数运算和三角函数运算
1.math库中的两个常量
math库中提供了两个常量供计算使用,包括圆周率和自然常数

import math
print("圆周率:" , math.pi) #圆周率pi
print("自然常数:",math.e) #自然常数

执行结果:
圆周率: 3.141592653589793
自然常数: 2.718281828459045

2.math库中的运算函数
此外,math库中还有以下各种运算函数
(1)向上取整

 import math
print("1.7",math.ceil(1.7))
print("0.3",math.ceil(0.3))
print("-1.7",math.ceil(-1.7))
print("-0.3",math.ceil(-0.3))

执行结果:
1.7 2
0.3 1
-1.7 -1
-0.3 0

(2)向下取整

import math
print("1.7",math.floor(1.7))
print("0.3",math.floor(0.3))
print("-1.7",math.floor(-1.7))
print("-0.3",math.floor(-0.3))

运行结果:
1.7 1
0.3 0
-1.7 -2
-0.3 -1

(3)指数运算

import math
print("15^3",math.pow(15,3))
print("29^-1",math.pow(29,-1))

执行结果如下:
15^3 3375.0
29^-1 0.034482758620689655
(4)对数计算(默认低数为e,可以使用第二参数来改变对数的低数)

import math
print("log(3)",math.log(3))
print("log(100,10",math.log(100,10))

执行结果如下:
log(3) 1.0986122886681098
log(100,10 2.0
(5)平方根计算

import math
print("sqrt(4)",math.sqrt(4))
print("sqrt(128)",math.sqrt(128))

(6)此外,math库里还有三角函数计算

import math
print("sin(pi/2)",math.sin(math.pi/2))
print("cos(pi)",math.cos(math.pi))

(7)角度和弧度互换

import math
print(math.degrees(math.pi)) 
print(math.radians(90))

9.4.4 random

random库包含了许多和随机数相关的方法,
随着rabdaom.seed(x)改变随机数生成器的种子seed,如果你不了解其原理,不必特别去设定seed,python会帮你选择seed
random.random用于生成一个0到1的随机浮点数:0<=n<=1.0.

import random
print(random.random())

这个例子将会输出一个0到1之间的随机数,并且每次运行结果都不一样。
randow.uniform用于生成一个指定范围内的随机浮点数

import random
print(random.uniform(1,150))

输出一个1-150之间的浮点数

random.randint用于生成一个指定范围内的整数

import random
print(random.randint(1,500))

这个例子会输出一个1-500之间的随机整数

randow.choice会从给定的序列中获取一个随机元素。

import random
seq1 = (1,15,8,9,7,33)
seq2 = ["星期一","星期二","星期三","星期四","星期五"]
print(random.choice(seq1))
print(random.choice(seq2))

randow.shuffle用于将一个列表中的元素打乱

import random
seq1 =list(range(1,10))
seq2 = ["星期一","星期二","星期三"]
print("打乱前")
print(seq1)
print(seq2)
random.shuffle(seq1)
random.shuffle(seq2)
print("打乱后")
print(seq1)
print(seq2)

元组不能用这个

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值