扩展你的程序——创建模块,使用库

模块

为了让代码可重用,使用模块化。

1. 导入自己的程序作为模块

import sys
sys.path.append('C:/Users/xxx') #加入所写程序的目录,不是程序的路径,是目录
import module
导入模块时会使代码执行一次(只执行一次——在两个模块互相导入的时候可以起到优化的作用)

sys.path 告诉解释器在哪找到模块。

实际上还有一种方法:

将写的模块放置到 Python文件夹下面的 site-packages 下,这个目录怎么来的?

import sys, <a target=_blank href="http://www.pythontab.com/html/2014/pythonjichu_1021/893.html">pprint</a>
pprint.pprint(sys.path)
跟sys.path 很相似的——PYTHONPATH环境变量(根据OS,OS的一部分)

2. 模块也有作用域

模块里面的函数,变量,类都是模块的特性。

如果遇上测试代码,为了不让在import 函数的时候将测试代码执行,可以采取:

def hello():
    print 'hello world!'
def test(): #单独放置一个测试函数
    hello()
if __name__ == '__main__':test()

__name__ 让你明白是使用模块or真正运行,在主程序中__name__ 的值是 __main__,在导入模块中__name__ 的值是模块名


3. 在包中包含模块

模块所放文件夹 = 包,要使包有效就必须在包中加入__init__.py,同时要记住将包的上一级文件放到环境变量PYTHONPATH 中

import package

from package import module 

import package.module :只能通过 package.module使用


4. 对模块进行操作,更加了解你想知道的模块

dir : 了解模块的特性,__all__——定义模块公用接口

import copy
listx = [n for n in dir(copy) if not n.startswith('_')]
listy = [n for n in dir(copy)]
print listx
print listy
print copy.__all__
module.__file__:打印出模块位置,就可以进去查看源代码了


标准库

1. os

顾名思义与操作系统有关,“This module provides a portable way of using operating system dependent functionality.”

不同的操作系统有不同的使用方法

a. Windows 下打开一个程序

import os
os.system(r'D:\SF\Ubisoft Game Launcher\Uplay.exe')# this cannot work
os.system(r'D:\"SF"\"Ubisoft Game Launcher"\Uplay.exe')
os.startfile(r'D:\SF\Ubisoft Game Launcher\Uplay.exe')
os.system() 在IDLE中会打开一个DOS 窗口,并且路径中含有空格,DOS就会停止执行,所以要对有空格的路径加上一个引号

os.starfile()  则没有那么麻烦。

Windows 启动了外部程序,Python 会继续运行

Unix 中会等待os.system 执行结束再执行下一段代码

2. sys

这个模块是与解释器有关的,“This module provides access to some variables used or maintained by the interpreter and to functions that interact strongly with the interpreter. It is always available.” 提供了一些与解释器相关的变量和函数,总之就是与解释器相关的。


安装库

可以使用pip(提前安装pip组件)下载,但是如果网络有问题or设置代理方面的or源有问题,pip可能会出问题

我比较习惯于在网上下载相应的程序包,看到程序包里面有一个setup.py 的程序,在当前文件夹进行 cmd。

运行命令:python setup.py install

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值