我有一个python脚本,在它的“初始化”运行模式中,访问我系统上的多个文件并组装它认为正确的数据。在将脚本设置为在“最终”模式下运行之前,当实际使用数据时,用户需要检查此数据。
现在我正在以python数据结构的形式将要检查的数据写入data.py文件,例如: data.py的内容可能是:
data1 = "script_generated_filename_1"
data2 = [ "script_generated_date1",
"script_generated_date2" ]
用户验证data.py文件后,“最终”运行模式然后使用“导入数据”调用通过data.data1,data.data2等获取对数据的访问权。
我一直在尝试清理我的python编程风格,并且更符合通常被认为是pythonic的内容。通过阅读module文档后,我怀疑使用这种方式的导入函数是pythonic,还是有更主流的方法来使用python完成这种类型的用户验证。
答案 0 :(得分:6)
这对模块来说很好。你想要避免的是在导入时执行过多或副作用的代码,这不会那样做。
答案 1 :(得分:3)
我认为你应该把你的数据放在文本文件中(JSON,CSV,任何合适的东西),然后让你的脚本读入它。通常(不仅仅是在Python中),最好将代码和数据分开。
答案 2 :(得分:1)
据我所知,你的代码没有任何不同的东西:你正确地导入名称空间并引用它们,你将模块视为重用的单位。
可能有一个更优雅的解决方案,如果您可以发布有关问题域的更多具体细节,我们可以帮助您。但优雅必须经常被经济所抵消。
我务实的观点是,如果你没有重复自己,并且你没有违反任何主要惯例,并且你的代码有效,那么你就是对的:即使设计有缺陷,一个好的设计也可以后来总是被强加于一个有缺陷的设计,这是干的;)