Python中常用的模块

  • 上一篇文章中记录了Python中模块的使用, 这里就是记录一些常用的模块
  • 最近学习中发现, 之前接触的模块好多却都忘记了怎么使用
  • 这里就简单总结一下os, random等模块的使用吧
  • GitHub代码示例目地址

os模块

os模块简单的来说它是一个Python的系统编程的操作模块,可以处理文件和目录, 这些我们日常手动需要做的操作

环境变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# 1. 获取操作系统的类型
print(os.name)
# 输出: posix

'''操作系统的类型
nt -> windows
posix -> Linux/Unix
OS -> Mac(内核是Linux)
'''


# 2. 输出操作系统详细的信息
print(os.uname())
# 输出:
# posix.uname_result(sysname='Darwin', nodename='xxx.local', release='17.5.0', version='Darwin Kernel Version 17.5.0: Mon Mar 5 22:24:32 PST 2018; root:xnu-4570.51.1~1/RELEASE_X86_64', machine='x86_64')

# 3. 获取操作系统中的环境变量(输出一个字典)
print(os.environ)


# 4. 获取指定的环境变量
# 参数为上述操作系统环境变量中字典的某一个键值对的键值
os.environ.get('PYTHONPATH')


# 5. 获取当前工作目录, 即当前python脚本所在的目录
print(os.getcwd())


# 6. 返回指定目录下的所有的文件, 返回一个列表
print(os.listdir(path))


# 7. 在制定目录下增删目录
# 在当前目录下创建文件
# 在制定的路径下创建
os.mkdir(r'/Users/xxx/titan')
# 默认在当前目录下
os.mkdir('jun')

# 删除目录
os.rmdir('jun')
os.rmdir('r'/Users/xxx/titan'')


# 8. 获取文件属性
print('文件属性:', os.stat('titan'))
'''输出:
文件属性: os.stat_result(st_mode=16877, st_ino=10797606, st_dev=16777224, st_nlink=2, st_uid=501, st_gid=20, st_size=68, st_atime=1527059854, st_mtime=1527058920, st_ctime=1527058920)
'''


# 9. 重命名
# os.rename('jun', 'titan')


# 10. 删除普通文件
# os.remove(path)

os模块中的常用值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#curdir  表示当前文件夹   .表示当前文件夹  一般情况下可以省略
print(os.curdir)

#pardir 表示上一层文件夹 ..表示上一层文件夹 不可省略!
print(os.pardir)

#os.mkdir('../../../man')#相对路径 从当前目录开始查找
#os.mkdir('/home/sy/man1')#绝对路径 从根目录开始查找

#name 获取代表操作系统的名称字符串
print(os.name) #posix -> linux或者unix系统 nt -> window系统

#sep 获取系统路径间隔符号 window ->\ linux ->/
print(os.sep)

#extsep 获取文件名称和后缀之间的间隔符号 window & linux -> .
print(os.extsep)

#linesep 获取操作系统的换行符号 window -> \r\n linux/unix -> \n
print(repr(os.linesep))

处理文件路径

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# 1. 拼接路径
p1 = '/xxx/GitHub/PythonDemo/PythonStudy'
p2 = '6-os模块/jun.txt'
print(os.path.join(p1, p2))
# 输出: /xxx/GitHub/PythonDemo/PythonStudy/6-os模块/jun.txt


# 2. # 拆分路径
path2 = r'/xxx/GitHub/PythonDemo/PythonStudy/6-os模块/jun.txt'
print('拆分路径:', os.path.split(path2))
# 输出一个元组: ('/xxx/GitHub/PythonDemo/PythonStudy/6-os模块', 'jun.txt')


# 3. 获取扩展名, 返回一个元组
os.path.splitext(path2)
# 输出: ('/xxx/GitHub/PythonDemo/PythonStudy/6-os模块/jun', '.txt')


# 4. 是否是目录
print('是否是目录:', os.path.isdir(path2))
# 是否是目录: False


# 5. 判断文件是否存在
print('文件是否存在:', os.path.isfile(path2))
# 文件是否存在: False


# 6. 判断目录是否存在
path3 = r'/Users/quanjunt/Documents/Quanjun/GitHub/PythonDemo/PythonStudy/6-os模块'
print('判断目录是否存在:', os.path.exists(path3))
# 输出: False


# 7. 获取文件大小(字节)
print('文件大小:', os.path.getsize(path3))
# 文件大小: 170


# 8. 获取文件名
print('文件名:', os.path.basename(path2))
# 输出: jun.txt


# 9. 获取文件路径中的目录部分
print('文件目录:', os.path.dirname(path2))
# 输出: /xxx/GitHub/PythonDemo/PythonStudy/6-os模块

random模块

randompython产生伪随机数的模块,随机种子默认为系统时钟

基本用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 首先要先导入模块
import random

# 1.从序列的元素中随机挑选一个元素
random.choice((1, 3, 5, 2))
random.choice("titanjun")

# 2. 从指定范围内,按指定基数递增的集合中获取一个随机数
print(random.randrange(10, 100, 3))

# 3. 随机生成的一个实数,它在[0,1)范围内
random.random()

# 随机生成指定范围[a,b]的整数
print(random.randint(1, 6))

# 随机生成指定范围[a,b)的整数
print(random.randrange(2, 8))

# 随机生成指定范围[a,b)的指定步长的数
print(random.randrange(1, 10, 3))

# 随机生成指定序列中的指定个数的元素(返回列表)
print(random.sample('titanjun', 4))

# 将序列的所有元素随机排序
list1 = [1, 2, 3, 4]
random.shuffle(list1)
print(list1)

# 随机生成一个在该范围内的实数
print(random.uniform(2, 5))

随机生成6位验证码

1
2
3
4
5
checkCode = ''
for i in range(6):
temp = random.randint(0, 9)
checkCode += str(temp)
print("6位随机验证码:", checkCode)