首页 > 解决方案 > 如何从另一个 python 文件导入和获取变量?

问题描述

主文件是aaa.py,代码如下:

import os,time
from get_newest_folder import *

def main_test():
    print(newest_folder)
    print(path)

if __name__ == '__main__':
    get_n_folder()
    main_test()

另一个文件是get_newest_folder.py,代码如下:

import os

def get_n_folder():

    path = 'D:\\Test'    
    os.chdir(path)
    files = sorted(os.listdir(os.getcwd()), key=os.path.getmtime)

    newest_folder = files[-1]
    return (path, newest_folder)

if __name__ == '__main__':
    get_n_folder()

我正在尝试在 aaa.py 中使用 get_newest_folder.py 中的变量“path”和“newest_folder”,所以我导入了“get_newest_folder”。但我无法获取(打印)aaa.py 中的 2 个变量。当我运行 aaa.py 时,它显示如下错误消息:

NameError:名称'newest_folder'未定义

有人可以更正我的代码或给我一些建议吗?非常感谢。

标签: pythonvariablesimport

解决方案


为了访问 latest_folder 和 path,您必须在 get_newest_folder.py 中将它们声明为全局并将这些变量导入 aaa.py。它们目前是局部变量。

但这不是处理事情的理想方式。可能你需要这样的东西

import os,time
from get_newest_folder import *

def main_test():
    _path, _newest_folder = get_n_folder()
    print(_path)
    print(_newest_folder)

if __name__ == '__main__':
    main_test()

推荐阅读