python基础6 模块初识
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础6 模块初识相关的知识,希望对你有一定的参考价值。
本节主要内容:
- 引用其他模块
- 模块重名
- 2个简单标准库举例
- 练习自己写模块
- 参考网页
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 模块初识的主要内容,如果未能解决你的问题,请参考以下文章