Python 从另一个文件调用函数时属性错误

Python attribute error when calling a function from another file

目前我在从 pycharm 中的另一个文件调用函数时遇到问题,我最初在 visual studio 中也遇到过这个问题。我有两个文件,一个叫主文件,另一个叫数据库,当我在我的主文件中导入数据库和 运行 来自数据库的函数时,我得到了这个属性错误。数据库还需要运行完成后的启动函数所以我将Start导入数据库文件并运行那里的函数,当运行ning时我得到这个属性错误。但是,当删除其中一个功能时,程序可以完美运行。这很令人困惑,因为即使在智能感知中,它也会在导入后获取函数。下面我将 post 任何帮助可视化情况的代码和 post 错误代码,感谢阅读! 主文件:

import Database as DB


def Start():
    print("\n---------------\n")
    print("1: Database\n")
    print("2: TensorFlowTest\n")
    print("3: Quit Program\n")
    print("---------------\n")

    x = int(input("What would you like to open?\n"))

    if (x == 1):
        DB.dataMain()


Start()

数据库文件:

import Main as main


def dataMain():
    print("\n---------------\n")
    print("Gathering all files...")
    if (len(all_filenames) != 0):
        dataAppend()
        dataSort()
    else:
        print("No Additional Data added to database")
        dataSort()
    print("Completed\n")
    print("---------------")
    main.Start()

这是控制台中的代码错误: Error Code in console

最后一件事,两个文件都在同一目录中,即项目目录

对于这么长的描述和令人困惑的描述,我深表歉意!但感谢您阅读并 post 提出解决此问题的任何建议!谢谢!

最后我在调用函数的地方导入了我需要的函数,似乎解决了这个问题。不确定这是否是处理事情的最佳方式,但目前效果很好。

数据库示例代码:

def dataMain():
    print("\n---------------\n")
    print("Gathering all files...")
    if (len(all_filenames) != 0):
        dataAppend()
        dataSort()
    else:
        print("No Additional Data added to database")
        dataSort()
    print("Completed\n")
    print("---------------")
    import Main as main
    main.Start()