【问题标题】:Import variable from another .py without running the module [duplicate]从另一个.py导入变量而不运行模块[重复]
【发布时间】:2021-02-04 18:27:49
【问题描述】:

我有两个 .py 文件:

file_1.py

file_2.py

file_1.py 包含将打开栅格并将其拆分为多个部分的代码。类似于在 QGIS 中创建网格并裁剪到每个网格。我有一个变量x 设置为我想使用“raster.tif”的文件。我想将此变量导入 file_2.py。我通过@Ashwini Chaudhary(import file_1 然后file_1.x)找到了这个answer。我面临的问题是当我运行file_2.py 时,file_1 首先执行。我只是想访问变量而不执行文件。有可能吗?

【问题讨论】:

  • 你不能。不过,您可以将不想运行的代码放在if __name__ == "__main__": 保护中。这是制作模块的惯用方式,您可以直接导入或执行而无需导入运行代码
  • IOW:“我只是想访问变量而不是执行文件。这可能吗?”不,那是不可能的。 怎么可能
  • 对不起,IOW 是什么意思?
  • “换句话说”
  • 基本上,在执行模块之前,变量不存在,并且没有办法部分执行模块来提取特定变量的值。 import always 执行整个模块。它必须。我将其作为副本关闭,您应该通读已接受的答案并使用if __name__ == "__main__" idiom 构建您的模块

标签: python variables import


【解决方案1】:

根据我所做的研究,这是不可能做到的。如果我错了,请见谅

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-12
    • 2021-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多