当前位置:   article > 正文

python调用另一个.py文件(直接运行,类,函数)_python调用其他py文件

python调用其他py文件

一、同一文件夹下的调用
1.调用函数
A.py文件如下:

def add(x,y):
print(‘和为:%d’%(x+y))

在B.py文件中调用A.py的add函数如下:

import A
A.add(1,2)
  • 1
  • 2

from A import add
add(1,2)
  • 1
  • 2

2.调用类
A.py文件如下:

class A:
def init(self,xx,yy):
self.x=xx
self.y=yy
def add(self):
print(“x和y的和为:%d”%(self.x+self.y))

在B.py文件中调用A.py的add函数如下:

from A import A
a=A(2,3)
a.add()
  • 1
  • 2
  • 3

import A
a=A.A(2,3)
a.add()
  • 1
  • 2
  • 3

3. 运行另一个py文件
(1)在file_A.py中运行file_B.py文件

import os
os.system("python file_B.py para_a1 para_a2")
#其他形式
os.system("python file_B.py %s" % para_A)
os.system("python file_B.py " + para_A)
  • 1
  • 2
  • 3
  • 4
  • 5

需要注意文件路径的写法,因为我是在docker中运行文件,文件名前面需要加/,如os.system(“python /file_B.py”)

(2)file_B.py使用file_A.py传递的参数

import sys
print(sys.argv)
  • 1
  • 2

#由打印的结果可知,sys.argv[1:]是命令行传递的参数,sys.argv[0]是命令行运行的文件名
para_B = sys.argv[1]

二、在不同文件夹下调用
方法1
A.py文件的文件路径为:C:\AmyPython\Test1

B.py中调用A.py文件:

import sys
sys.path.append(r'C:\AmyPython\Test1')
#python import模块时,是在sys.path里按顺序查找的。
#sys.path是一个列表,里面以字符串的形式存储了许多路径。
#使用A.py文件中的函数需要先将他的文件路径放到sys.path中
import A
a=A.A(2,3)
a.add()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

方法2 创建 init.py 文件

在被import的文件路径下面新建一个__init__.py文件,光创建就行,不需要往里面添加内容。
比如被import的文件路径是…A/b.py下面,那么只要在文件夹A下面分别新建一个__init__.py文件,然后按照下面的语句引用即可:

import A.b
  • 1

如图所示
在这里插入图片描述

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

闽ICP备14008679号