python下如何在目录下让Python文件去调用另一个Python文件内的函数或类

对这个问题,网上有很多方法,但主要是python无法找到其他函数所在的.py文件。不同情况有不同的方法:

假设A.py文件需要调用B.py文件内的P(x,y)函数


情况一:假如在同一目录下,则需

import B

if __name__ == "__mian__":

       B.P(x,y)


情况二:如只需要调用单个函数

from B import P  #需要保证folder文件夹(也就是需要的文件夹下)包含__init__.py,若是没有,可以新建一个

if __name__ == "__mian__":

    P(x,y)

 

例如:poetry_gen.py文件 需要调用poetry_model.py 中的PoetryModel() 函数

 

 

在 poetry_gen文件中调用PoetryModel()

 

 

2.若A.py和B.py在不同目录下(假设B.py在D盘根目录下)

 

a.引用所在路径

import sys

sys.path,append('D:/')

import B

if __name__ == "__main__":

      print B.P(x,y)

 

或 from B import P

if __name__ == "__main__":

     print P(x,y)

 

b.当文件在平行路径下时

application/app2/some_folder/some_file.py
application/app2/another_folder/another_file.py
 
import sys
sys.path.append('../')

 

c.使用imp

import imp

B = imp.load_source('B','D:/B.py')

import B

if __name__ == "__mian__":

     print B.P(x,y)

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值