首页 > 解决方案 > 如何在同一模块中导入变量 beteen 类

问题描述

我需要将此路径变量从第一类导入到另一个类,这是我的代码:

import openpyxl

class Excell():
      global path
      def send_message(self, data):
          global path
          print("Path Excel is : '{}'".format(data))
          path = data # I need to export this variable 'path'

global path

class First():
      global path
      wb = openpyxl.load_workbook(path)
      sheet = wb['sheet']
      firstCell= sheet["A1"].value
      print("Cell is :" + firstCell)

运行代码后,我看到此消息:

C:\Python\python.exe E:/PycharmProjects/test/firstTest.py
Traceback (most recent call last):
   File "E:\PycharmProjects\test\firstTest.py", line 11, in <module>
      class First():
   File "E:\PycharmProjects\test\firstTest.py", line 13, in First
      wb = openpyxl.load_workbook(path)
NameError: name 'path' is not defined

Process finished with exit code 1

标签: pythonpython-3.xseleniumtkinter

解决方案


删除globals。

具有发送功能return的路径值。

就在First上课之前,为新定义的全局变量赋值:

path = Excell().send_message("foo")

然后,当您分配给工作簿时,该值可用。


推荐阅读