python自定模块
‘壹’ 如何在python中添加自定义模块
一般来说,我们会将自己写的python模块与python自带的模块分开存放以达到便于维护的目的。
Python 运行环境在查找库文件时是对 sys.path 列表进行遍历,如果我们想在运行环境中注册新的类库,主要有以下三种方法:
在sys.path列表中添加新的路径。
设置PYTHONPATH环境变量。
将库文件复制到sys.path列表中的目录里(如site-packages目录)。
其实,最简单的办法是用 .pth 文件来实现。Python 在遍历已知的库文件目录过程中,如果见到一个 .pth 文件,就会将文件中所记录的路径加入到 sys.path 设置中,这样 .pth 文件说指明的库也就可以被 Python 运行环境找到。
操作:
在Python/Lib/site-package目录下创建一个MyMole.pth文件,其中内容为自定义的模块所在的路径。
Config代码
C:\Project
C:\Project 这样Project目录下的python文件就可以被找到了。
谢谢采纳
‘贰’ 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找不到自定义的模块
Python导入模块时实际上是在 sys.path 中进行查找的。
一般会包括标准库、第三方库、当前文件目录。
6. 模块 — Python 3.10.5 文档
有时候我们定义的模块不在这里面,可以手动 append 到 sys.path 。
相对路径:在Python中可以用 . 表示当前目录, .. 表示当前文件的上一级目录。这个相对路径实际上是相对 执行python xx.py命令时候 所在的目录。
‘肆’ python内置模块和第三方模块和自定义模块的顺序
内置的模块(python解释器自带的)、第三方(开发者编写的模块)、自定义的模块。
1、先从内存中找。
2、再从内置模块中找。
3、最后从sys.path中找(环境变量)一定要分清楚谁是执行文件谁是被导入文件sys返回的是一个列表,里面放了一些文件的路径,但是第一个路径永远是文件所在的文件夹。
‘伍’ Python模块的几种类型简介
view plain to clipboardprint?
import os
import stat
import time<DIV></DIV>
fileStats = os.stat ( 'test.txt' )
fileInfo = {
'Size' : fileStats [ stat.ST_SIZE ],
'LastModified' : time.ctime ( fileStats [ stat.ST_MTIME ] ),
'LastAccessed' : time.ctime ( fileStats [ stat.ST_ATIME ] ),
'CreationTime' : time.ctime ( fileStats [ stat.ST_CTIME ] ),
'Mode' : fileStats [ stat.ST_MODE ]
}
for infoField, infoValue in fileInfo:
print infoField, ':' + infoValue
if stat.S_ISDIR ( fileStats [ stat.ST_MODE ] ):
print 'Directory. '
else:
print 'Non-directory.'
import os
import stat
import time
fileStats = os.stat ( 'test.txt' )
fileInfo = {
'Size' : fileStats [ stat.ST_SIZE ],
'LastModified' : time.ctime ( fileStats [ stat.ST_MTIME ] ),
'LastAccessed' : time.ctime ( fileStats [ stat.ST_ATIME ] ),
'CreationTime' : time.ctime ( fileStats [ stat.ST_CTIME ] ),
'Mode' : fileStats [ stat.ST_MODE ]
}
for infoField, infoValue in fileInfo:
print infoField, ':' + infoValue
if stat.S_ISDIR ( fileStats [ stat.ST_MODE ] ):
print 'Directory. '
else:
print 'Non-directory.'
‘陆’ 如何发布自定义的python模块
系统环境:window xp sp3,python2.7
在D盘pydemo目录下创建一个nester目录(此目录为举例说明,属自定义)
在目录中添加两个python程序文件:nester.py和setup.py
nester.py 模块的程序文件,代码如下(实现递归遍历数组):
def print_lol(arr):
for row in arr:
if(isinstance(row , list)):
print_lol(row)
else:
print row
setup.py 保存模块的安装信息,包含模块名称,模块开发者等信息,代码如下:
from distutils.core import setup
setup (
name = 'nester',
version = '1.0.1',
py_moles = ['nester'],
author = 'ken.wong',
author_email = '[email protected]',
description = 'Mole demo',
)
注意:
name和py_moles这两个参数一定要与nester.py文件名相同,否则发布安装时会发出模块文件找不到的错误
通过命令行,进入nester目录(D:/pydemo/nester),依次输入下图中红色框的命令
发布模块,但还不能在程序中被调用,还需要安装,接着看
See,安装完成,在python环境下产生一个nester-1.0.1-py2.7.egg-info文件,有点类似php扩展的.dll(windows环境下的)
现在可以在程序中使用刚才安装的nester模块
import nester
movies = ['a','b',['c1','c2']]
nester.print_lol(movies)
这里需要注意一个问题,很多新手会这样调用:
print_lol(movies)
系统会发出这样的一个错误信息:NameError: name 'print_lol' is not defined
原因是当模块创建以后,系统自动创建一个与模块名称相同的命名空间(nester),并将函数放在命名空间中,简单的通过print_lol调用,自然无法找到函数,正确的方法:
nester.print_lol(movies)
直接把命名空间带上即可。
‘柒’ python如何导入自定义模块
1、相同目录下,若在程序test1.py中导入模块mod1,
则直接使用import
mod1或from
mod1
import
*;
2、主程序所在目录是模块所在目录的父(或祖辈)目录则要建立空文件__init__.py文件然后使用
from
mod2.mod2
import
*
‘捌’ 如何在python中添加自定义模块
1、说明
python添加自定义第三方模块使用pip命令。
2、步骤
以安装requests模块为例说明
1)打开命令行
win+r打开运行,输入cmd点确定
如不报错则说明安装成功
‘玖’ python自定义模块
答: 在Python当中,每一个Python文件都是一个模块,在该模块你可以定义自己想要的函数,它的具体介绍如下。
Python模块介绍
同时你编写完这个py文件之后,不管你放在哪个文件夹都是可以的,比如说你放在file文件夹下,同时模块命名为MathApi,那么导入语句就可以是from file import mathApi。
在导入之后就可以使用自定义模块的各种方法,但是我觉得当你要写项目时,还是得把这个模块添加进去,因为你讲的那个turtle实际上属于Python内置模块,当然可以在任何地方引用。
‘拾’ python怎么导自定义模块
python中导入自定义模块的方法:
1、py执行文件和模块同属于同个目录(父级目录)
直接使用import <模块名>命令导入模块,然后使用模块.变量|函数语句即可使用模块中的函数。
2、先使用sys模块导入自定义模块的路径,然后使用import导入模块
导入步骤:
1、使用import sys导入sys模块
2、使用sys.path.append(path)函数导入自定义模块所在目录
3、然后使用import <模块名>命令导入模块
更多Python知识请关注Python自学网。