模块
模块是一个包含所有定义的函数和变量的文件,其后缀名是 .py
。模块可以被别的程序引入,以调用该模块中的函数等功能。这也是使用 python 标准库的方法。
import 语句
想要引用模块,只需要执行import语句就可以了。我们来看个示例。
# Filename: printHello.py
def hello( name ):
print ("Hello : ", name)
新建一个 printHello.py
的文件,写入一个 hello
的函数。这个文件就是一个模块。
# Filename: test.py
#导入模块
import printHello
# 现在可以调用模块里包含的函数了
printHello.hello("Python")
我们再在同一目录下新建一个 test.py
的文件,使用 import
导入 printHello
这个模块。注意:导入模块时,不加后缀 .py
。这时就可以使用 printHello.hello
这种形式调用模块中的 hello
函数了。
$ python3 test.py
Hello : Python
直接运行test这个脚本,我们可以看到,结果输出Hello Python。
这里,我们就完成了模块的调用。
from … import 语句
Python 的 from … import
语句可以从模块中导入一个指定的部分到当前脚本中。
比如还是刚才的示例:
# Filename: test.py
#导入模块
from printHello import hello
# 现在可以调用模块里包含的函数了
hello("Python")
我们改用 from … import
语句,就是from这个模块import函数,这样可以不必将整个模块导入,而只导入我们需要用到的函数。在调用的时候也是直接写函数名,而不必写模块名了。
包
包是一种管理 Python 模块命名空间的形式。通俗来理解呢,就是文件夹名称。
还是之前的示例,还记得吗?这两个文件必须是在同一目录下,如果是不同的目录下该怎么引入模块呢?这时候就需要用到“包”的概念了。
# Filename: package/printHello.py
def hello( name ):
print ("Hello : ", name)
比如我们将printHello.py这个文件放置在package这个文件夹下。
# Filename: test.py
#导入模块
from package.printHello import hello
# 现在可以调用模块里包含的函数了
hello("Python")
那么,我们导入模块时就可以用 .
表示文件夹分割。其他的,就和之前的用法一样了。
练习题
上百度,谷歌一下。理解下列模块中函数的用法和意义。
import sys
sys.path[0]
sys.argv[0]
import os
os.getcwd()
os.path.dirname(path)
os.sep
os.rename('test.txt', 'test.py’)
os.remove('test.txt’)
os.path.isfile('test.txt’)
os.path.exists(directory)
网友评论