调用其他python脚本文件里面的类和方法过程解析

yipeiwu_com7年前Python基础

这篇文章主要介绍了调用其他python脚本文件里面的类和方法过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

问题描述:

自己编写了若干个Python脚本。

在testC.py里面需要调用testA.py和testB.py里面的若干类和方法。要怎么办?

需要都打包、安装,再去调用吗? 其实不必那么麻烦。

这里有个前提,testA.py, testB.py, testC.py在同级目录下。

如果不在同级目录,后面会补充介绍如何把路径包含过来。

# testA.py
# -*- coding: utf-8 -*-

class testA:
  def testA1():
    print("----testA1")

def testA2(str):
  print("testA2---: " + str)
# testB.py
# -*- coding: utf-8 -*-

def testB():
  print("this is testB")
# testC.py

import logging
from testA import *
from testB import *

logging.basicConfig(level=logging.INFO, filename='mylog.log')
logging.info('Starting program')
# 这个logging仅仅为了掩饰日志记录功能,和这里讨论的主题无关
logging.info("test testA.py")# 调用里面的类
testa = testA
testa.testA1()
# 调用里面的方法
testA2("How are you?")

logging.info("test testB.py")
testB()
logging.info('Ending program')

这里有3个文件(testA.py, testB.py, testC.py)。

在testC.py里面调用另外连个.py脚本的方法就是 import 模块脚本的全部内容。

from testA import *
from testB import *

函数调用语法细节,请参看testC.py里面的代码。

遗留问题:

如果不在当前路径怎么办?

用sys模块,将路径添加进来即可。

例如,我这里就把testA.py放在了当前目录的today文件夹下面。把testB.py放在了父级目录(上一级目录)的yesterday文件夹下面。

import sys
sys.path.append(r'./today')
sys.path.append(r'./../yesterday')
from testA import *
from testB import *

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python中aioysql(异步操作MySQL)的方法

python异步IO初探 探索异步IO执之前,先说说IO的种类 1.阻塞IO最简单,即读写数据时,需要等待操作完成,才能继续执行。进阶的做法就是用多线程来处理需要IO的部分,缺点是开销会...

删除目录下相同文件的python代码(逐级优化)

删除目录下相同文件的python代码(逐级优化)

这两天闲来无事在百度上淘了点图片,不多,也就几万张吧,其中有不少美女图片奥!哈哈!这里暂且不说图片是怎么获得的,咱聊聊得到图片以后发生的事。 遇到的第一个问题就是有些图片没有后缀名。在w...

Python 实现遥感影像波段组合的示例代码

Python 实现遥感影像波段组合的示例代码

最近要做个遥感相关的小系统,需要波段组合功能,网上找了可以使用ArcGIS安装时自带的arcpy包,但是Python3.7不能使用现有ArcGIS10.2版本,也不想再装其他版本,所以只...

Python TCPServer 多线程多客户端通信的实现

Python TCPServer 多线程多客户端通信的实现

最简单、原始的TCP通信demo 服务端Http请求: import socket # 创建一个servicesocke serviceSocket = socket.socket...

python单链表实现代码实例

链表的定义:链表(linked list)是由一组被称为结点的数据元素组成的数据结构,每个结点都包含结点本身的信息和指向下一个结点的地址。由于每个结点都包含了可以链接起来的地址信息,所以...