您的位置:首页 > 编程语言 > Python开发

python 教程 第六章、 模块

2013-07-23 17:03 531 查看
第六章、 模块

1) 模块

sys模块

字节编译的.pyc文件,优化编译后生成pyo文件

2) from..import语句

import sys

print 'The command line arguments are:'

for i in sys.argv:

print i

print '\n\nThe PYTHONPATH is', sys.path, '\n'

3) __name__

只想在程序本身被使用的时候运行主块,而在它被别的模块输入的时候不运行主块

from sys import *

print 'The command line arguments are:'

for i in argv:

print i

print '\n\nThe PYTHONPATH is', path, '\n'

4) 制造自己的模块

#!/usr/bin/python

# Filename: mymodule.py

def sayhi():

print 'Hi, this is mymodule speaking.'

version = '0.1'

# End of mymodule.py

#!/usr/bin/python

# Filename: mymodule_demo.py

import mymodule

mymodule.sayhi()

print 'Version', mymodule.version

5) reload模块重载

>>>import changer    #导入模块changer.py文件

>>>changer.printer() # No effect: uses loaded module

First version

##修改changer.py的代码##

>>>from imp import reload

>>>reload(changer)   # Forces new code to load/run

<module 'changer' from 'changer.py'>

>>>changer.printer() # Runs the new version now

reloaded: After editing

6) dir()函数

列出模块定义的标识符。标识符有函数、类和变量。

>>>import sys

>>>dir(sys)

['__displayhook__', '__doc__', '__excepthook__', '__name__', '__package__', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_getframe', 'api_version', 'argv', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright'…]

>>>

如果不提供参数,它返回当前模块中定义的名称列表。

>>>dir() 

['__builtins__', '__doc__', '__name__', '__package__', 'sys']

>>>a = 1 

>>>dir() 

['__builtins__', '__doc__', '__name__', '__package__', 'a', 'sys']

>>>del a 

>>>dir() 

['__builtins__', '__doc__', '__name__', '__package__', 'sys']

>>>

列出数据类型的可使用的函数,help函数的简体版

>>>dir(dict) 

['__class__', '__cmp__', '__contains__', '__delattr__', '__delitem__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'has_key', 'items', 'iteritems', 'iterkeys', 'itervalues', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values', 'viewitems', 'viewkeys', 'viewvalues']

7) 包导入

import dir1.dir2.mod #from dir1.dir2.mod import x

dir1在PYTHONPATH路径中

dir1目录/dir2目录/mod.py文件

dir1目录和dir2目录下都必须含有__init__.py

8) 修改模块搜索路径

sys.path.append('c:\\lp4e\\examples')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: