python简单调用自定义模块 , 最近在用这个玩意儿,所以给大家介绍两种个人认为最简单(但不是太标准,当然也看自己的理解)的方式来调用自定义模块
1. 相同目录下调用。
2. 不同目录下调用。
我们先创建等下调用模块的文件:
总的文件夹:
pythona下的文件:
pythonb下的文件:
首先介绍第一种(相同目录):
由上图可以看出a,b属于同一个文件夹中的文件,我们在a中调用b文件
b:
def cat():
print("调用cat成功!!")
if __name__=="__main__":
cat()
a:
from b import *
def dog():
print("调用dog成功!!")
if __name__=="__main__":
dog()
cat()
运行a得到结果
同目录下我们在a中使用from b import * 引用b的所有模块调用b,最后使用b的函数cat()
然后介绍第二种(不同目录):
由上图可以看出b,c属于不同分级的目录下,接下来我们使用c来调用b文件
b:
def cat():
print("调用cat成功!!")
if __name__=="__main__":
cat()
c:
import sys
sys.path.append("D:\pythona")
from b import *
def tiger():
print("调用tiger成功!!")
if __name__=="__main__":
tiger()
cat()
调用结果:
可以看出调用成功,第二种方法就是添加路径到sys中,运行时能找到你所需的路径。添加的路径为你所需模块的文件夹路径(不是文件路径)
你可以试试不添加路径是的情况是什么。
这便是简单的调用模块,但是这里有一点需要给大家强调一下,就是讲解一下,__name__=="__main__":
如果我们是直接执行某个.py文件的时候,该文件中那么__name__ == ”__main__“是True,但是我们如果从另外一个.py文件通过import导入该文件的时候,这时__name__的值就是我们这个py文件的名字而不是__main__。
这个功能还有一个用处:调试代码的时候,在”if __name__ == '__main__'中加入一些我们的调试代码,我们可以让外部模块调用的时候不执行我们的调试代码,但是如果我们想排查问题的时候,直接执行该模块文件,调试代码能够正常运行!
也就是说写了if __name__ == “__main__“我们可以让外部文件import时不执行main里面的文件,除非直接调用函数;而不写时import会调用所有代码!!