模块基本是一个包含了所有你定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。
#!/usr/bin/python #Filename:using_sys.py import sys print 'The command line arguments are:' for i in sys.argv: print i print ' ThePYTHONPATH is',sys.path,' '
利用import语句输入sys模块。sys模块包含了与Python解释器和它的环境有关的函数
sys.argv变量是一个字符串的列表。特别sys.argv包含了命令行参数的列表。
记住:脚本的名称总是sys.argv列表的第一个参数。
字节编译的.pyc文件
创建字节编译的文件,这些文件以.pyc作为扩展名。
from...import语句
使用from sys import argv语句,可以避免每次使用sys. 来输入argv变量到你的程序中。
如果你想输入所有sys模块使用的名字,那么你可以使用from sys import*语句。
模块的__name__
每个模块都有一个名称,在模块中可以通过语句来找出模块的名称。
用例:
#!/usr/bin/python #Filename:using_name.py if __name__=='__main__': print'This program is being run by itself' else: print'I am being imported from another module'
运行结果:
This program is being run by itself
>>> import using_sys
I am being imported from another module
每个python模块都有它的__name__,如果它是‘__main__’,这说明这个模块被用户单独运行,我们可以进行相应的恰当操作。
使用python模块
记住:这个模块应该被放在我们输入它的程序的同一个目录中,或者在sys.path所列目录之一。
例如:
一个模块为:
#!/usr/bin/python
#Filename:mymodule.py
def sayhi():
print 'Hi,this is mymodule speaking.'
version='0.1'
把它和python程序放在同一个目录下
#!/usr/bin/python #Filename:mymodule_demo.py import mymodule mymodule.sayhi() print 'Version',mymodule.version
输出结果为
Hi,this is mymodule speaking. Version 0.1 >>>
使用from...import
#!/usr/bin/python #Filename:mymodule_demo2.py from mymodule import sayhi,version #Alternative: #from mymodule import * sayhi() print 'Version',version
输出结果与上例一样
dir()函数
内建的dir()函数类列出模块定义的标识符。标识符有函数、类和变量
当你为dir()提供一个模块名的时候,它返回模块定义的名称列表。如果不提供参数,它返回当前模块中定义的名称列表。
>>> import sys >>> dir(sys) >>> dir() >>> a = 5 >>> dir() >>> del a >>> dir()
使用del语句删掉当前模块中的变量/属性,这个变化在dir的输出中反应出来
关于del的注释:用来删除一个变量/名称。在这个例子中,del a,你将无法再使用变量啊---它好像从来没有存在过一样。