当前位置:   article > 正文

超级简单的方法 实现在python的一个py脚本中调用另外一个py脚本中的类或函数_python调用另外一个py的main函数

python调用另外一个py的main函数

也是前两天遇到的问题,一般来说遇到这样的问题是像我似的,把代码都写到一个文件里,后来做别的东西跟它衔接的时候发现需要用里面的函数,但是又觉得从这个文件拷贝函数到那个文件太low了...而且不利于维护和修改,所以就上网查了查

 

这个跟调用python库不一样,python库时直接安装在python环境中,并且支持直接import引入,现在的情况是这个样子:

我有mainfile和fucfile两个文件,这两个文件在一个目录下(在不在都可以,这里是为了演示方便),我想要在mainfile中调用Mathadd的函数功能

 

 

这里我们分三种情况:

 

两个文件在一个文件夹下--》允许直接import调用

  1. # mainfile.py
  2. import Mathadd
  3. print(Mathadd.add(3,4))
  4. #Mathadd.py
  5. def add(x, y):
  6. return (x+ y)

输出

F:\PROGRAMME\python\python.exe F:/SOFTWARE/编程软件/python/projet/test/mainfile.py
7

 

第二种情况不在一个文件夹下--》添加环境变量再import调用

这个引入方法跟我们调用库类似,但是默认情况下库可以引用是因为他们的路径再python的环境路径中,import时候编辑器就是从路径中查找库并引入,这个原理就类似

就是我们的系统环境变量一样,引入路径之后,cmd直接调用程序时候,就会按照这个路径列表查找是否有该文件名并打开。

 

python的库也是一样,所以只要我们将Mathfild.py的绝对路径加入python路径变量中,他就可以找到对应的文件并调用

测试一下:

mainfile

  1. import sys
  2. # 这里的不一定非要在一个文件夹下,只要填写绝对路径就可以
  3. sys.path.append(r'F:\SOFTWARE\编程软件\python\projet\test')
  4. '''该sys.path列表维护的就是环境路径集合。。
  5. 使用py文件前先将其路径加入集合,然后就可以像库一样调用'''
  6. import Mathadd
  7. print(Mathadd.add(3, 4))

Mathadd.py

  1. def add(a, b):
  2. return a + b

输出:

F:\PROGRAMME\python\python.exe F:/SOFTWARE/编程软件/python/projet/test/mainfile.py
7

 

前两种都是调用函数的,我们还可以调用其他文件的类-->大致方法同上

这里仅仅演示同一个文件夹下的
首先在mainfile里引入类

  1. from Mathadd import Mathadd
  2. math = Mathadd(3, 4)
  3. print(math.add())

在Mathadd里定义好类和方法

  1. # 用于支持两个数字运算,初始化时输入数字
  2. class Mathadd:
  3. def __init__(self, x, y):
  4. self.x = x
  5. self.y = y
  6. def add(self):
  7. return self.x+self.y
  8. def sub(self):
  9. return self.x-self.y

同样的道理,直接调用

输出:

F:\PROGRAMME\python\python.exe F:/SOFTWARE/编程软件/python/projet/test/mainfile.py
7

 

这个也不难,但是确实挺实用的。O(∩_∩)O哈哈~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/737351
推荐阅读
相关标签
  

闽ICP备14008679号