在Python中全局存储数据

时间:2014-02-24 22:08:48

标签: python django

Django和Python新手在这里。好的,所以我想创建一个网页,用户可以输入1到10之间的数字。然后,我想显示与该数字对应的图像。每个数字都与图像文件名相关联,这10对存储在.txt文件的列表中。

检索适当文件名的一种方法是创建NumToImage模型,该模型具有整数字段和字符串字段,并将所有10个NumToImage对象存储在SQL数据库中。然后,我可以检索任何查询号的文件名。但是,对于存储一个我知道不会改变的简单.txt文件来说,这似乎不是一个很好的解决方案。

那么,在不使用数据库的情况下,在Python中执行此操作的方法是什么?我习惯于C ++,在那里我将创建一个字符串数组,每个数字一个,并在应用程序启动时从.txt文件加载它们。然后,此向量将位于静态对象中,以便我可以从应用程序的任何位置访问它。

如何在Python中完成类似的事情?我不知道如何实例化Python对象,然后使其可以从其他Python脚本访问。我能想到这样做的唯一方法是将对象实例作为我调用的每个函数的参数传递,这很愚蠢。

这是什么标准解决方案?

谢谢。

1 个答案:

答案 0 :(得分:0)

Python方式非常相似:您在模块级别运行代码,并在模块命名空间中创建可由其他模块导入的对象。

在您的情况下,它可能看起来像这样:

myimage.py

imagemap = {}
# Now read the (image_num, image_path) pairs from the 
# file one line at a time and do:
#     imagemap[image_num] = image_path

views.py

from myimage import imagemap

def my_view(image_num)
    image_path = imagemap[image_num]
    # do something with image_path