python中怎么import自己写的模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中怎么import自己写的模块相关的知识,希望对你有一定的参考价值。

只需要在文件中import与你写的文件的文件名一致的模块名即可,这时Python会为你创建一个pyc文件的。
即,如果你已经写了一个名为ssss.py的文件,而现在你需要在名为aaaa.py的文件中使用ssss.py中定义的方法,那么你只需要在aaaa.py中加入import ssss,然后你就可以在aaaa.py中使用ssss.py中的方法(当然方法前需要加模块名来引用)。你还可以在aaaa.py中如下写
from ssss import ....
....可替换为ssss.py中定义的方法的名称

from ssss import *
导入ssss.py中的所用定义,使用以上这两种方法导入ssss.py中的定义,你在aaaa.py中可不用使用模块名来引用。
参考技术A 昨天面试空管局的时候遇到了这个问题。当时回答的不是很理想。现在整理一下。

Python学习手册中写道:

定义模块,只要使用文本编辑器,把一些python代码输入到文本中,然后以.py为后缀名进行保存,任何此类文件都会被认为是python模块。

比如说,下面的代码输入到一个文件中,就可以看作是一个模块:

[python] view plain copy
def printme(var):
print var
if __name__ == '__main__':
printme(1)
假设说输入到a.py中,那么import a就可以把这个模块导入。

然后可执行a.printme(3),屏幕即可打印出3。

----------------------------------------------------------------------------

一个模块顶层定义的变量,会自动变成模块的属性。例如:

[python] view plain copy
data=[1,2,3]

def printme(var):
print var
if __name__ == '__main__':
printme(1)
data变量就是模块的一个属性。其实printme也是一个属性,只不过是一个函数罢了。

reload函数可以重新加载一个模块。如果在模块代码中更改了,那么需要重新加载。

上面a.data,就是访问模块中的属性。

--------------------------------

上面的例子是导入一个文件作为一个模块。

其实python的模块导入还有更丰富的内容。

除了模块名之外,python也可以导入指定目录路径。python代码的目录就称为包。因此,这类导入就称为包导入。事实上,包导入是把计算机上的目录变成python的一个命名空间。而属性就是目录中包含的子目录或者是模块文件。

看下面例子:

在我的桌面上有一个aa文件夹,里面有bb文件夹,bb里面有a.py这个文件。

那么在aa和bb文件夹中分别放置一个__init__.py,之后,在命令行中import aa.bb.a,就可以导入模块a了。

python如何导入自定义模块

我在A目录下有一个A.py和B文件夹,想在A.py文件里面导入B文件夹里面的一个C.py里面的一个函数index()。请问在A.py中怎么import 到index()函数。

这个问题涉及到包和模块管理。包名和模块名一般是小写。你的文件是下面的结构,需要创建空文件 b/__init__.py,将b目录变成package。

a/a.py

from b.c import index
index()



b/c.py

def index():
    print("hello")



b/__init__.py


a/a.py 里面有两种引用方式,相对引用和绝对引用:
# 如果a.py是 library,两种引用方式都可以

from ..b.c import index



# 如果a.py是 executable,必须使用绝对引用

from b.c import index


如果使用绝对引用,需要确保b所在目录在PYTHONPATH (sys.path)里面,比如可以这样执行:

env PYTHONPATH=. python a/a.py

参考技术A 1、相同目录下,若在程序test1.py中导入模块mod1,
则直接使用import
mod1或from
mod1
import
*;
2、主程序所在目录是模块所在目录的父(或祖辈)目录则要建立空文件__init__.py文件然后使用
from
mod2.mod2
import
*
参考技术B 自定义模块在同一个文件夹下面的话
直接import

import
。。from
。。。就好

以上是关于python中怎么import自己写的模块的主要内容,如果未能解决你的问题,请参考以下文章

python中模块包无法导入import问题

python import 自己写的模块

解决python中import时无法识别自己写的包和模块的方法

python怎么导入自己写的包

python怎么导入同一包的模块

python,import语法出错