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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM