python中调用不同文件夹的py文件

在导入一个包的时候,Python 会根据 sys.path 中的目录来寻找这个包中包含的子目录。

目录只有包含一个叫做 __init__.py 的文件才会被认作是一个包,主要是为了避免一些滥俗的名字(比如叫做 string)不小心的影响搜索路径中的有效模块。

最简单的情况,放一个空的 :file:__init__.py就可以了。当然这个文件中也可以包含一些初始化代码或者为(将在后面介绍的) __all__变量赋值。

用户可以每次只导入一个包里面的特定模块

此外需要用到sys.path.append(path)命令。

示例:这是我的文件夹布局

aa.py:

1 def sayHello(name):
2     print 'hello '+name
3  
4 class classA():
5     def __init__(self,name):
6         self.name = name
7  
8     def sayByeBye(self)    :
9         print 'goodbye '+self.name

 

bb.py:

 1 import sys
 2  
 3 sys.path.append('../A/')
 4  
 5 import aa
 6  
 7 a = aa.classA("zxz")
 8 a.sayByeBye()
 9  
10 aa.sayHello("zxz")

注意点:1.需要引用其他路径的py文件,需要用sys.path.append(" ")把那个py文件所在的路径引用进来,之后就可以使用该py文件中的类与函数。

2.被引用进来的是py文件,所以使用其类与函数的时候需要用文件名作为索引。故使用sayHello函数需要加上文件名aa.sayHello()

3.如果需要引用类,可以使用form,,import的方式,这样可以直接调用类中的函数,而无需再类初始化的时候加上文件名。

1 import sys
2 sys.path.append('../A/')
3 from aa import classA
4 a = classA("zxz")
5 a.sayByeBye()

参考来源:https://blog.csdn.net/lwgkzl/article/details/81161985?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

 
posted @ 2020-10-09 11:03  随心—所欲  阅读(20082)  评论(0编辑  收藏  举报