模块使用

模块:

模块式pyth1.on组织代码的基本方式

一个python脚本可以单独运行,也可以导入另一个脚本中运行,当脚本被导入运行时,我们将其称为模块(module)

所有的点p为文件都可以作为一个模块导入

模块名与脚本的文件名相同,例如我们编写了一个名为hello.pv的脚本则可以在另一个脚本中用import hello.py来导入它

包:

python的模块可以按目录组织为包

创建一个包的步骤:

创建一个名字为包名字的目录,在该目录下创建一个__init__.py文件,根据需要在该目录下存放脚本文件或已编译的扩展及子包

语法:

import pack.m1,pack.m2,pack.m3

sys.path

举例:

In [1]: import sys

In [2]: sys.path

Out[2]:

['',

'/usr/bin',

'/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/.ipython']

vim /root/.bashrc

最后加个export PYTHONPATH=/root/library

成功加入到Python环境变量中

In [1]: import sys

In [2]: sys.path

Out[2]:

['',

'/usr/bin',

'/root/library',

'/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/.ipython']

可被其他脚本调用的脚本:

#!/usr/bin/env python

#

def wordCount(s):

chars = len(s)

words = len(s.split())

lines = s.count('\n')

print lines,words,chars

if __name__=='__main__': #设置后,本脚本内的函数可被其他脚本调用test.py

s = open('/etc/passwd').read()

wordCount(s)

#

[root[@localhost](https://my.oschina.net/u/570656) 20181203]# python words.py

27 52 1324

[root[@localhost](https://my.oschina.net/u/570656) 20181203]# wc /etc/passwd

27 52 1324 /etc/passwd

test.py中导入words.py:

[root[@localhost](https://my.oschina.net/u/570656) 20181203]# cat test.py

#!/usr/bin/env python

import words

#

s="""hello world python"""

words.wordCount(s)

[root[@localhost](https://my.oschina.net/u/570656) 20181203]# python test.py

27 52 1324

[root[@localhost](https://my.oschina.net/u/570656) 20181203]# ls

test.py words.py words.pyc ###调用words后自动生成编译的文件。

模块和包:

模块是一个可以导入的脚本文件

包是一些按目录组织的模块和子包,目录下有init.py文件,此文件可以存放包的信息。

导入模块和包的语法:

import,import as

from ... import ...

In [2]: from mode import mode

2 10 158

In [3]: mode.wordCount('abc')

0 1 3

In [4]: import mode.mode

In [5]: mode.mode.wordCount('hello')

0 1 5

In [7]: from mode.mode import wordCount

In [8]: wordCount('aaa')

0 1 3

#重新命名为wc

In [10]: from mode.mode import wordCount as wc

In [11]: wc('aaaddd')

0 1 6

#from package.mod import wordCount

#from package import mod

In [10]: from package import mod

In [11]: mod.wordCount('abc 123')

0 2 7

In [15]: from package.mod import wordCount

In [16]: wordCount('ava adsf34')

0 2 10

python自建模块导入_Python模块的使用及自建模块的导入方法举例相关推荐

  1. python导入模块教程_Python 极简教程(二十四) - 导入模块

    每种语言都有一些现成的模块可以调用,这些模块提供各种各样的功能,比如 time 模块提供关于时间的处理,re 模块提供正则表达式的函数, os 模块提供系统级别的操作等. 这些模块存在于 Python ...

  2. python random模块导入_Python学习笔记(二十)—模块的导入

    一.模块介绍 Python 提供了强大的模块支持,主要体现在Python 标准库中包含了大量的模块(称为标准模块),还有大量的第三方模块,开发者自己也可以开发自定义模块.通过这些强大的模块可以极大地提 ...

  3. python输入一个英文句子_Python给定一个句子倒序输出单词以及字母的方法

    python输入一个正整数(位数不限),将其倒序输出def inversenum(num) numlist=liststr(nun) while numlist[-1]='0': numlist. p ...

  4. python内建模块函数_Python中一些内建函数及os等模块的用法

    len(obj)                   # 求长度:obj可以是str.list等对象 split(str, num)          # str-分割符,默认空格:num-分割次数 ...

  5. python中math模块函数_Python常用的一些内建函数和math模块函数

    一:Python内建函数 1 #abs取绝对值 2 num = -10 3 print(abs(num))4 5 #max 求最大值 6 print(max(6, 9, 2, 12, 8))7 8 # ...

  6. python cv2模块安装_python 连接sql server数据库,pymssql模块安装。

    python 连接sql server数据库,pymssql模块安装. python版本:python3.7 数据库版本:sql server 2016 连接sql server数据库,本菜鸟用的是p ...

  7. python常用模块实例_python中常用的各种数据库操作模块和连接实例

    工作中,经常会有用python访问各种数据库的需求,比如从oracle读点配置文件或者往mysql写点结果信息之类的. 这里列一下可能用到的各个模块. sqlite3: 内置模块用sqlite,有时候 ...

  8. python爬取音乐神器_Python爬虫提取神器,正则表达式(re模块),全程干货!

    python正则表达式(re模块) 什么是正则表达式 正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a到z之间的字母)和特殊字符(称为"元字符&quo ...

  9. python中bs4模块下载_Python及bs4、lxml、numpy模块包的安装

    http://blog.csdn.net/tiantiancsdn/article/details/51046490(转载) Python及bs4.lxml.numpy模块包的安装 Python 的安 ...

  10. python爬虫豆瓣评论论文_Python爬虫(三)——对豆瓣图书各模块评论数与评分图形化分析...

    Date的那一大堆事儿--1 String perfTimeStr = "";// 统一设置日历格式 Calendar calendar = Calendar.getInstanc ...

最新文章

  1. 刘锋 吕乃基:互联网中心化与去中心化之争
  2. 多线程学习笔记(十二)
  3. Elasticsearch教程-从入门到精通-ES索引迁移
  4. python3 输入输出_21.Python3 输入和输出
  5. sql azure 语法_Azure Data Studio中SQL Server Profiler
  6. Photopile JS – 帮助你实现精致的照片堆叠效果
  7. 基于KDJ指标的Dual Thrust策略
  8. 简单三步,教你搭建一个私有云盘
  9. 脸上不同部位长痘痘的原因
  10. 深度跳转-scheme
  11. ps怎么抠地图线路_用PS怎么抠地图?
  12. HTML5七夕情人节表白网页制作 __浪漫空中散落的花瓣3D相册__ HTML+CSS+JavaScript
  13. Python画豪华版圣诞树,带漂亮彩灯与文字背景
  14. 仿163邮箱上传多附件,有点酷
  15. typescript77-在CRA创建支持ts的项目
  16. w10 计算机配置管理模板,让Win10系统界面回归朴实的技巧
  17. 【收藏】安科瑞企业微电网能效管理系统云平台演示账号
  18. 金多多简述外围市场涨跌不一
  19. 腾讯QQ2006自带Addrplus恶意插件之完全清除方法
  20. 邮件归档,在VIP邮箱怎么设置?

热门文章

  1. 一加7pro运动计步功能_测血压、心率、血氧、运动计步,来电微信消息等提醒,多种模式可选,这款智能手环功能实在是太全了吧!...
  2. linux 分区_Linux文件系统、逻辑分区、物理分区
  3. java 类交互图_Java与UML交互图
  4. 开发做甲方还是乙方_建筑行业的职场小白求职时是选择做甲方还是乙方?
  5. 遥感计算机分类实验的难点,8-遥感实验.doc
  6. linux 程序 加密码忘了怎么办,linux忘记了密码怎么办
  7. 【Centos 8】【Centos 7】安装 docker
  8. 两个条件一个为false就运行_Python入门基础实例讲解——两个数字比大小,并输出最大值...
  9. c语言程序设计 在线课程设计,c语言程序设计 本科课程设计
  10. 三阶魔方还原步骤图_研究人员开发的AI成功在1.2秒内还原三阶魔方