首页 > 代码库 > python基础6 模块初识

python基础6 模块初识

本节主要内容:

  1. 引用其他模块
  2. 模块重名
  3. 2个简单标准库举例
  4. 练习自己写模块
  5. 参考网页

Python的强大之处在于他有常丰富和强大的标准库和第三库.

引用其他模块

要使用一个模块,我们必须首先导入该模块。Python使用import语句导入一个模块。例如,导入系统自带的模块 math:

import math

只希望导入用到的math模块的某几个函数,而不是所有函数,可以用下面的语句:

from math import pow, sin, log

调用math模块的函数:

print math.pow(2,10)

包就是文件夹。 模块就是XXX.py文件。

模块重名

当不同的人编写多个模块的时候,很可能存在模块重名的问题,重名的模块只要放在不同的 目录底下即可。 比如: p1目录下有个util.py,p2目录底下也有util.py. 响应的引用可以用: p1.util p2.util 比如: math模块有一个log函数,logging模块也有一个log函数,如何同时使用。

方法一

import导入模块名,通过模块名引用函数名,不存在冲突:

import math, logging
print math.log(10)   # 调用的是math的log函数
logging.log(10, ‘something‘)   # 调用的是logging的log函数

方法二

from...import 导入 log 函数,势必引起冲突。这时,可以给函数起个“别名”来避免冲突:

from math import log
from logging import log as logger   # logging的log现在变成了logger
print log(10)   # 调用的是math的log
logger(10, ‘import from logging‘)   # 调用的是logging的log

2个简单标准库举例

sys

import sys #导入sys模块

print(sys.path) #输出python的环境变量
print(sys.argv[2]) #带参数的输出

os

  • 例一
import os #倒入os模块
cmd_res = os.system("pwd") #传入并执行系统命令pwd
print("-->",cmd_res)

pirnt的执行结果为0,os.system("pwd")的执行结果输出到屏幕上,不会再输入到变量里面,0代表执行的结果。

  • 例二
import os #倒入os模块
cmd_res = os.popen("pwd") #传入并执行系统命令pwd
print("-->",cmd_res)

os.popen("pwd")的执行结果存到内存的一个地方,print打印的是内存对象地址。 需要读出,用read才能从内存中读出执行结果。

import os 
cmd_res = os.popen("pwd").read()
print("---->",cmd_res)
  • 例三
os.mkdir("new_dir") #创建新目录

os,system综合举例

import os,sys

os.system(‘‘.join(sys.argv[1:])) #把用户的输入的参数当作一条命令交给os.system来执行

练习自己写模块

比如写一个login.py的内容如下,作为一个login模块:

_name = "Cathy"
_password = "123456"

username = input("username:")
password = input("password")


if username == _name and password == _password:
    print("welcome user {name} login ...".format(name=username))
else:
    print("invalid username or password!")

在别的地方应用login模块。

import login

上面写的login.py模块只能在当前目录下导入,如果想在系统的何何一个地方都使用怎么办呢? 此时你就要把这个login.py放到python全局环境变量目录里啦,用 print(sys.path) 可以查看python环境变量列表。

参考网页

http://www.cnblogs.com/alex3714/articles/5465198.html

http://www.imooc.com/code/6075

python基础6 模块初识