小编Dan*_*zan的帖子

全局变量在模块级别未定义

(有许多类似的和更通用的问题,在阅读完它们之后尝试过它们的解决方案,无法让它们工作所以在这里要求我看到的更具特定情况的版本)

我认为我真的很想念 - 由于我更多的C#/ C++背景,Python如何处理OOP.所以这就是我现在正在努力做的事情.

我从两个模块开始设置项目的其余部分,部分是作为一个完整性检查和概念验证.一个模块将内容记录到文件中,同时还存储来自多个模块的数据(最终将它们打包并根据请求转储它们)在PyCharm中完成所有这些并提及它建议的错误警告,并使用Python 2.7

Module 1:
  src\helpers\logHelpers.py
    class LogHelpers:
      class log:
         def classEnter():
           #doing stuff
         def __init__(self):
           self.myLog = LogHelpers.log()  #forgot to mention this was here initially
      [..] various logging functions and variables to summarize what's happening
    __builtin__.mylogger = LogHelpers

Module 2:
  src\ULTs\myULTs.py
    mylogger.myLog.classEnter()
Run Code Online (Sandbox Code Playgroud)

(模块和根src \中都有一个空的init .py文件)

因此,根据这里非常棒的响应(Python - 导入模块中的全局变量的可见性),这应该是有效的,但是'mylogger'成为'未解析的引用'

这是一种方法.我也尝试过更直接的全局变量(Python:如何制作跨模块变量?)

Module 1:
  src\helpers\logHelpers.py
    class LogHelpers:
      class log:
         def classEnter(self):
           #doing stuff
         def __init__(self):
           self.myLog = LogHelpers.log()  #forgot to mention …
Run Code Online (Sandbox Code Playgroud)

python scope module global-variables

5
推荐指数
1
解决办法
3万
查看次数

标签 统计

global-variables ×1

module ×1

python ×1

scope ×1