“导入”数据是pythonic吗?

时间:2011-07-22 18:08:27

标签: python import

我有一个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完成这种类型的用户验证。

3 个答案:

答案 0 :(得分:6)

这对模块来说很好。你想要避免的是在导入时执行过多或副作用的代码,这不会那样做。

答案 1 :(得分:3)

我认为你应该把你的数据放在文本文件中(JSON,CSV,任何合适的东西),然后让你的脚本读入它。通常(不仅仅是在Python中),最好将代码和数据分开。

答案 2 :(得分:1)

据我所知,你的代码没有任何不同的东西:你正确地导入名称空间并引用它们,你将模块视为重用的单位。

可能有一个更优雅的解决方案,如果您可以发布有关问题域的更多具体细节,我们可以帮助您。但优雅必须经常被经济所抵消。

我务实的观点是,如果你没有重复自己,并且你没有违反任何主要惯例,并且你的代码有效,那么你就是对的:即使设计有缺陷,一个好的设计也可以后来总是被强加于一个有缺陷的设计,这是干的;)