2013-01-19 63 views
4

我有一项服务,用户可以上传egg文件。问题是我需要提取一个settings.py文件,我应该只接受该文件中的一些值。该文件包含常规的Python变量,如:从另一个“采购”Python文件

VAR1 = 'Hello' 
VAR2 = ['my.list'] 
VAR3 = { 
    'a': 'b' 
} 

我需要在一个良好的方式来提取这些变量和我一直在寻求一种方法来“源”(猛砸学期我想..)的settings.py文件到我的工人Python文件来提取变量。搜索时我还没有找到办法。有任何想法吗?

我的(特定)解决方案

# Append path to sys.path 
sys.path.insert(0, os.path.dirname('/path/to/settings.py')) 

import settings as egg_settings 
LOGGER.info('Settings: VAR1 = %s', egg_settings.VAR1) 

# Remove from sys.path 
sys.path.pop(0) 
+0

你有一些标准,哪些变量要接受和忽略哪一个? – jgritty

+0

Duplicate:http://stackoverflow.com/questions/714881/how-to-include-external-python-code-to-use-in-other-files – Suku

回答

7

如果你只是做import settings所有变量将可以像settings.VAR1settings.VAR2

+1

谢谢,这是显而易见的,但我需要明显地听到它: )。我用更加详细的解决方案更新了我的问题,该解决方案对我来说效果很好突出的一点是我需要将一部分鸡蛋添加到'sys.path'中,然后再将其删除。 –

相关问题