Python——模块与包(常用模块)

模块
在 Python 中,一个.py文件就称之为一个模块
大大提高了代码的可维护性
编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用
这里写图片描述

vim mymod.py
import mymod
mymod.hello()
mymod.world()

这里写图片描述


如果不同的人编写的模块名相同怎么办?为了避免模块名冲
突,Python 又引入了按目录来组织模块的方法,称为包
这里写图片描述

vim hello.py
vim world.py
vim __init__.py 

import mymod
mymod.hello.hello()
mymod.world.world()

这里写图片描述

系统中的模块
内置模块
os对文件和目录进行操作,可跨平台

In[34]: import os   ##倒入os模块
In[35]: print os.name   ##显示系统版本
posix
In[36]: os.getcwd() ##显示当前目录绝对路径
Out[36]: '/root/PycharmProjects'
In[38]: os.listdir("/root/PycharmProjects") ##显示指定目录下文件
Out[38]: ['.idea', 'day1', 'day2', 'mymod']
In[39]: os.mkdir("hello")   ##创建目录
In[40]: os.listdir("/root/PycharmProjects")
Out[40]: ['.idea', 'day1', 'day2', 'mymod', 'hello']
In[41]: os.rmdir("hello")   ##删除目录
In[42]: os.listdir("/root/PycharmProjects")
Out[42]: ['.idea', 'day1', 'day2', 'mymod']

这里写图片描述

In[47]: os.system("ls")     ##使用shell命令,但是没有输出
day1
day2
mymod
Out[47]: 0

In[51]: l = os.popen("ls")  ##查看并且有输出
In[52]: print l.read()
day1
day2
mymod

这里写图片描述

os.path 是os 的一个子模块 , 主要是对路径进行解析、创建、测试和其
他的一些操作,封装了不同平台的路径操作
In[53]: os.path.split("/root/")
Out[53]: ('/root', '')
In[57]: os.path.basename("/etc/passwd")
Out[57]: 'passwd'
In[58]: os.path.dirname("/etc/passwd")
Out[58]: '/etc'

这里写图片描述

random模块

In[62]: import random
In[63]: random.randint(1,100)   ##随机生成数
Out[63]: 14
In[64]: random.randint(1,100)
Out[64]: 28
In[65]: random.randint(1,100)
Out[65]: 88

这里写图片描述

In[68]: random.random() ##随机生成(0,1)之间小数
Out[68]: 0.12270722248027299
In[69]: random.uniform(1,5) ##随机生成指定范围内小数
Out[69]: 2.0753958437636566

这里写图片描述

In[70]: random.randrange(1,50,2)    ##以2为间隔生成整数
Out[70]: 13
In[71]: random.randrange(1,50,2)
Out[71]: 19

这里写图片描述

In[73]: random.choice(["one", 'two', 'zero'])   ##随机选择
Out[73]: 'one'
In[74]: random.choice(["one", 'two', 'zero'])
Out[74]: 'zero'

In[80]: random.sample(["one", 'two', 'zero'],2) ##随机选择两个
Out[80]: ['one', 'zero']
In[81]: random.sample(["one", 'two', 'zero'],2)
Out[81]: ['zero', 'one']

这里写图片描述
这里写图片描述

In[82]: li = [1,2,3,4,5,6,7,8,9]    ##打乱
In[83]: random.shuffle(li)
In[84]: print li
[2, 8, 1, 4, 6, 9, 5, 7, 3]

这里写图片描述

sys模块
主要提供了系统相关的配置和操作,封装了探测、改变解释器runtime 以及资源的交互

In[85]: import sys
In[86]: print sys.path
['/opt/pycharm/helpers/pydev', '/opt/pycharm/helpers/pydev', '/usr/lib64/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/lib64/python2.7/site-packages/gtk-2.0', '/usr/lib/python2.7/site-packages', '/usr/lib/python2.7/site-packages/IPython/extensions', '/root/PycharmProjects']

这里写图片描述

In[89]: sys.path.insert(0,"/root")
In[90]: print sys.path
['/root', '/opt/pycharm/helpers/pydev', '/opt/pycharm/helpers/pydev', '/usr/lib64/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/lib64/python2.7/site-packages/gtk-2.0', '/usr/lib/python2.7/site-packages', '/usr/lib/python2.7/site-packages/IPython/extensions', '/root/PycharmProjects', '/root']

这里写图片描述

第三方模块
需要联网
通过 setuptools 这个工具完成
pip install 包名 或 pycharm中安装

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值