我的程序需要使用哈希表和sql数据库;目前,我想将程序的哈希表部分(添加,获取,删除等)和程序的数据库部分(相同)放入单独的python文件中,以便我可以更轻松地查找和编辑代码的特定部分,哈希部分依靠我的数据库部分,因为它们一起工作。但是我的pycharm建议(当我分别导入两个python文件时)将不使用第二个数据库程序。 例如
mainProgram
import hashProgam
import databaseProgram
main()
do blah blah blah blah
call function foo_bar()
run main()
hashProgram
foo_bar()
do blah blah
call function boo_lah()
databaseProgram
boo_lah()
do blah blah
当我的hashProgram想要调用数据库程序时会发生问题(我假设),尽管我不知道为什么会这样,因为我已经将它们都导入了?
对不起,如果这没有道理,但我真的不知道该怎么说,谢谢您的帮助:-)
答案 0 :(得分:0)
...有关如何将程序拆分为更易于管理的较小python文件的提示
这是一项相当基本的技术,只需简单阅读一下official documentation中的教程即可。
...在执行主程序时,(未导入所有我的辅助程序)hashKey未定义
类似这样的设置应该可以工作:
foo.py
hash_key = 1
main.py
import foo
assert foo.hash_key == 1
print(foo.hash_key)
...我的哈希部分依赖于我的数据库部分,因为它们一起工作。
在极少数情况下,模块相互导入时,您可能会得到circular reference and need a smarter split of modules。我不确定是否是您的情况,也许您只是还没有使用正确的导入语法。