第八章 python模块

8.1 模块基本内容

8.1.1 使用 python 标准库中模块

#!usr/bin/python3
import sys
for arg in sys.argv:
    print("arg = ", arg)

print("sys.path = ", sys.path)

结果:

自行打印

8.1.2 __name__属性

一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行

#!/usr/bin/python3
if __name__ == '__main__':
   print("hahah")
else:
   print("heheheh")

结果:

hahah

8.2 常用模块

8.2.1 sys

sys模块代表了Python解释器,主要用于获取Python解释器相关的信息,常用的属性有:

sys.argv: 获取运行python程序的命令行参数,其中sys.argv[0]指该python程序,之后sys.argv[1]表示第一个参数,以此类推。用法之前已经演示过。

#!usr/bin/python3
import sys
for arg in sys.argv:
    print("arg = ", arg)

sys.path: 该属性指定Python查找模块的路径列表,程序可以通过修改该属性来动态增加Python加载模块的路径

#!usr/bin/python3
import sys
sys.path.append("/Users/haha/hehe") #动态增加模块加载路径

8.2.2 os模块

os模块代表了程序所在的操作系统,主要用于获取程序运行所在操作系统的相关信息,常用的属性有:

os.name  返回操作系统名称

#!usr/bin/python3
import os
print("os.name = ", os.name)

结果:

os.name =  posix

os.environ 返回在当前系统上所有环境变量组成的字典

#!usr/bin/python3
import os
print("os.environ = ", os.environ)

os.pathsep 返回当前系统上多条路径之间的分隔符,一般在windows系统上多条路径之间的分隔符是英文分号(;),在UNIX及类UNIX上是英文冒号(:)

#!usr/bin/python3
import os
print("os.pathsep = ", os.pathsep)

结果:

os.pathsep =  :

os.system 执行命令

如下所示,执行ping www.baidu.com的命令

#!usr/bin/python3
import os
os.system("ping www.baidu.com")

结果:

PING www.a.shifen.com (220.181.38.150): 56 data bytes
64 bytes from 220.181.38.150: icmp_seq=0 ttl=49 time=7.756 ms
64 bytes from 220.181.38.150: icmp_seq=1 ttl=49 time=10.630 ms
64 bytes from 220.181.38.150: icmp_seq=2 ttl=49 time=10.582 ms
64 bytes from 220.181.38.150: icmp_seq=3 ttl=49 time=10.132 ms
64 bytes from 220.181.38.150: icmp_seq=4 ttl=49 time=8.429 ms
64 bytes from 220.181.38.150: icmp_seq=5 ttl=49 time=12.643 ms
64 bytes from 220.181.38.150: icmp_seq=6 ttl=49 time=15.693 ms
64 bytes from 220.181.38.150: icmp_seq=7 ttl=49 time=8.320 ms
64 bytes from 220.181.38.150: icmp_seq=8 ttl=49 time=8.428 ms
64 bytes from 220.181.38.150: icmp_seq=9 ttl=49 time=15.310 ms
64 bytes from 220.181.38.150: icmp_seq=10 ttl=49 time=96.784 ms
64 bytes from 220.181.38.150: icmp_seq=11 ttl=49 time=6.702 ms
64 bytes from 220.181.38.150: icmp_seq=12 ttl=49 time=96.813 ms
64 bytes from 220.181.38.150: icmp_seq=13 ttl=49 time=76.806 ms
64 bytes from 220.181.38.150: icmp_seq=14 ttl=49 time=28.985 ms
64 bytes from 220.181.38.150: icmp_seq=15 ttl=49 time=10.407 ms
64 bytes from 220.181.38.150: icmp_seq=16 ttl=49 time=34.335 ms
64 bytes from 220.181.38.150: icmp_seq=17 ttl=49 time=12.980 ms
64 bytes from 220.181.38.150: icmp_seq=18 ttl=49 time=41.289 ms
64 bytes from 220.181.38.150: icmp_seq=19 ttl=49 time=12.975 ms
64 bytes from 220.181.38.150: icmp_seq=20 ttl=49 time=13.498 ms
64 bytes from 220.181.38.150: icmp_seq=21 ttl=49 time=23.235 ms
64 bytes from 220.181.38.150: icmp_seq=22 ttl=49 time=20.532 ms
。。。

8.2.3 random模块

random模块包含了一些生成伪随机数的功能,其他各种语言里也都有类似的功能,这里只列举2个最常用的

random.randint(a, b). 生成一个范围为a<=N<=b的随机数

random.random() 生成一个从0.0<=N<1.0之间的伪随机浮点数

#!usr/bin/python3
import random
print("random.randint(4, 10) = ", random.randint(4, 10))
print("random.random() = ", random.random())

结果:

random.randint(4, 10) =  6
random.random() =  0.11464138896982845

8.2.4 time模块

time模块,顾名思义就是处理和时间有关的

time.asctime()  获取当前时间

#!usr/bin/python3
import time
print(time.asctime())

结果:

Thu May 12 22:45:39 2022

time.strftime() 将时间转换为指定格式

#!usr/bin/python3
import time
print("time = ", time.strftime("%Y-%m-%d %H-%M-%S"))

结果:

time =  2022-05-13 22-12-21

8.2.5 JSON操作

json格式的数据非常重要,在web开发中很多数据传递用的都是json格式,常用的方法有json和字符串之间的转换

json.dumps()  将对象转换成json格式字符串

#!usr/bin/python3
import json

obj = {'math': 80, 'chinese': 90, 'english': 100}
str = json.dumps(obj)  # 将对象转换为字符串
print("str = ", str)

结果:

str =  {"math": 80, "chinese": 90, "english": 100}

json.loads()  将json字符串恢复成json对象

#!usr/bin/python3
import json
str = '{"math" : 20, "chinese" : 30, "english" : 50}'
obj = json.loads(str)
print("obj = ", obj)

结果:

obj =  {'math': 20, 'chinese': 30, 'english': 50}

8.2.6 正则表达式

正则表达式在所有语言中几乎都有,用来匹配字符串或者查找想要的字符串

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值