python自定义模块?

Python07

python自定义模块?,第1张

答: 在Python当中,每一个Python文件都是一个模块,在该模块你可以定义自己想要的函数,它的具体介绍如下。

Python模块介绍

同时你编写完这个py文件之后,不管你放在哪个文件夹都是可以的,比如说你放在file文件夹下,同时模块命名为MathApi,那么导入语句就可以是from file import mathApi。

在导入之后就可以使用自定义模块的各种方法,但是我觉得当你要写项目时,还是得把这个模块添加进去,因为你讲的那个turtle实际上属于Python内置模块,当然可以在任何地方引用。

import语句

自定义模块可以采用import语句来进行引入,其操作步骤是先导入模块,再调用模块中包含的函数,可将自定义模块放入当前目录,便于解释器路径搜索,以下是导入自定义hello.py模块,并调用World函数的实例:

#!/usr/bin/python

#-*- coding: UTF-8 -*-

#导入模块

import hello

#现在可以调用模块里包含的函数了

support.print_func("World")

输出结果为:

Hello World!

以上实例也可以采用from…import的方法进行实现,是指从一个模块中导入指定的部分到当前命名空间中,以上功能可写成:

#!/usr/bin/python

#-*- coding: UTF-8 -*-

from hello import World

如果要将模块中的所有内容全部导入当前命名空间,可采用from…import*的方法,具体实例如下:

#!/usr/bin/python

#-*- coding: UTF-8 -*-

from hello import *

还需注意,当要导入一个模块时,Python解释器会对模块的位置进行搜索,具体搜索顺序规律如下:

1.当前目录

2.如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录

3.如果都找不到,Python会察看默认路径。

Python模块的安装方法:

1. 单文件模块:直接把文件拷贝到$python_dir/lib

2. 多文件模块,带setup.py:python setup.py install

3. egg文件,类似Java的jar:

1) 下载ez_setup.py,运行python ez_setup

2) easy_install *.egg

虽然Python的模块可以拷贝安装,但是一般情况下推荐制作一个安装包,即写一个setup.py文件来安装。

setup.py文件的使用:

% python setup.py build #编译

% python setup.py install#安装

% python setup.py sdist #制作分发包

% python setup.py bdist_wininst #制作windows下的分发包

% python setup.py bdist_rpm

setup.py文件的编写:

setup.py中主要执行一个 setup函数,该函数中大部分是描述性东西,最主要的是packages参数,列出所有的package,可以用自带的find_packages来动态获取package。所以setup.py文件的编写实际是很简单的。

简单的例子:

setup.py文件:

from setuptools import setup, find_packages

setup(

name="mytest",

version="0.10",

description="My test module",

author="Robin Hood",

url="",

license="LGPL",

packages= find_packages(),

scripts=["scripts/test.py"],

)

mytest.py文件:

import sys

def get():

return sys.path

scripts/test.py文件:

import os

print os.environ.keys()

setup中的scripts表示将该文件放到 Python的Scripts目录下,可以直接用。OK,简单的安装成功,可以运行所列举的命令生成安装包,或者安装该python包。

本机测试成功(win32-python25)!