python 把自定义的函数添加到python库中的方法

来源:互联网 发布:手机网络角色游戏 编辑:程序博客网 时间:2024/06/06 20:49

本文不讨论C/C++扩展python的方法,仅讨论用python脚本自定义的一些函数纳入python库的方法。


步骤如下:

1. 在Python安装目录的Lib下面创建一个目录,放自己定义的python脚本;

2. 在Lib/site-packages/目录下创建一个pth文本文件,把第一步对应的路径写在该文件中


示例:





上述一切妥当之后,就和python自己的库一样使用了。


附 python帮助文档中的相关部分:

27.14. site — Site-specific configuration hook

This module is automatically imported during initialization. The automatic import can be suppressed using the interpreter’s-S option.

Importing this module will append site-specific paths to the module search path.

It starts by constructing up to four directories from a head and a tail part. For the head part, it usessys.prefix and sys.exec_prefix; empty heads are skipped. For the tail part, it uses the empty string and thenlib/site-packages (on Windows) orlib/python|version|/site-packages and thenlib/site-python (on Unix and Macintosh). For each of the distinct head-tail combinations, it sees if it refers to an existing directory, and if so, adds it tosys.path and also inspects the newly added path for configuration files.

A path configuration file is a file whose name has the form package.pth and exists in one of the four directories mentioned above; its contents are additional items (one per line) to be added tosys.path. Non-existing items are never added tosys.path, but no check is made that the item refers to a directory (rather than a file). No item is added tosys.path more than once. Blank lines and lines beginning with# are skipped. Lines starting withimport (followed by space or tab) are executed.

Changed in version 2.6: A space or tab is now required after the import keyword.

For example, suppose sys.prefix andsys.exec_prefix are set to/usr/local. The Python X.Y library is then installed in/usr/local/lib/pythonX.Y (where only the first three characters ofsys.version are used to form the installation path name). Suppose this has a subdirectory/usr/local/lib/pythonX.Y/site-packages with three subsubdirectories,foo, bar and spam, and two path configuration files,foo.pth and bar.pth. Assume foo.pth contains the following:

# foo package configurationfoobarbletch

and bar.pth contains:

# bar package configurationbar

Then the following version-specific directories are added to sys.path, in this order:

/usr/local/lib/pythonX.Y/site-packages/bar/usr/local/lib/pythonX.Y/site-packages/foo

Note that bletch is omitted because it doesn’t exist; thebar directory precedes thefoo directory because bar.pth comes alphabetically before foo.pth; and spam is omitted because it is not mentioned in either path configuration file.

After these path manipulations, an attempt is made to import a module namedsitecustomize, which can perform arbitrary site-specific customizations. If this import fails with anImportError exception, it is silently ignored.

Note that for some non-Unix systems, sys.prefix and sys.exec_prefix are empty, and the path manipulations are skipped; however the import ofsitecustomize is still attempted.


0 0
原创粉丝点击