栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python模块之间的调用

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python模块之间的调用

一、同一个文件夹下不同模块函数调用

备注:py文件都可以当做一个模块

1 针对一个模块的函数调用
a : import 模块名
模块名.函数名

b: from 模块名 import 函数名 (as 别名)
python调用另一个.py文件中的类和函数

A.py文件如下:

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

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

import A
A.add(1,2)

from A import add
add(1,2)

二、同一个文件夹下不同模块类调用

A.py文件如下:

class A1:
    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 A1  #实例化一个对象
a=A1(2,3) #使用实例调用函数
a.add()

import A
a=A.A1(2,3)  #实例化一个对象
a.add() #使用实例调用函数

三、不同目录下模块调用

方法:将被调用的模块文件夹路径添加到环境变量

如存在以下目录结构:需要在test.py中调用calultater.py:

3.1. 通过绝对路径调用(不太推荐)
(1). 获取calulator.py的绝对路径
(2). 通过import sys 将路径添加上

示例:

import sys

sys.path.append(r'D:5_test_softwareproject2module')    #添加绝对路径

from calulator import *   #*是对应的函数

3.2. 通过相对路径调用 (推荐用法)

import sys
from os.path import dirname,abspath
 
project_path = dirname(dirname(abspath(__file__)))
#__file__用于获取文件的路径,abspath(__file__)获得绝对路径;
#dirname()用于获取上级目录,两个dirname()相当于获取了当前文件的上级的上级即示例中project2
sys.path.append(project_path+r'module')
#路径拼接成D:5_test_softwaremudule
 
from calulater import *

预备知识:

为啥项目文件目录下都有一个__init__.py的文件,即使是空的,有__init__.py的叫包,没有这个文件叫目录。

file 常量,当前文件的相对路径
os.path.abspath(filepath):将相对路径转换成绝对路径
os.path.dirname(filepath):获取父路径名,若嵌套多次,则可以获取基于上一次的父路径名
sys.path.append(path):将路径path动态设置成环境变量,在退出python环境后自己添加的路径就会自动消失
sys.path将返回一个存有环境变量的列表,可查看目前的环境变量

import sys
import os
 
project_path = dirname(dirname(abspath(__file__)))
#__file__用于获取文件的相对路径,abspath(__file__)获得绝对路径;
#dirname()用于获取上级目录,两个dirname()相当于获取了当前文件的上级的上级即示例中project2
sys.path.append(project_path+r'module')
#路径拼接上calultater.py的文件夹路径即mudule,使用append()将其添加到环境变量,这样就能import调用了,在退出python环境后自己添加的路径就会自动消失

from calulater import *  或者import calulater
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/766879.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号