Python 戏剧变数

Python drama with variable

在python我有这组变量

variable.py

#--------------Project 1--------------#
ip_server = '10.10.55.98'
username = 'user_1'
distro = 'debian'

#--------------Project 2--------------#
ip_server = '10.10.55.96'
username = 'user_2'
distro = 'opensuse'

#--------------Project 3--------------#
ip_server = '10.10.55.95'
username = 'user_3'
distro = 'ubuntu'

在脚本main.py中我只想导入项目2的变量,怎么办?

main.py

from variable import *

ho_to_import_variable_of_project2?


感谢大家的回答,希望有时间来回答我的问题

为每个项目创建一个列表和字典,如下所示:

variable.py

project1 = [{'ip_server' :'10.10.55.98', 'username':'user_1', 'distro' : 'debian'}]
project2 = [{'ip_server' :'10.10.55.95', 'username':'user_2', 'distro' : 'opensuse'}]
project3 = [{'ip_server' :'10.10.55.96', 'username':'user_3', 'distro' : 'ubuntu'}]

并且在main.py

from variable import project1

您假设使用注释将变量“分隔”到逻辑组对解释器来说意味着任何事情都是错误的。您真正要做的就是覆盖相同的变量。

此外,avoid using import *

相反,我会使用字典:

data = {
    'Project 1': {
        'ip_server': '10.10.55.98',
        'username': 'user_1',
        'distro': 'debian'
    },
    'Project 2': {
        'ip_server': '10.10.55.96',
        'username': 'user_2',
        'distro': 'opensuse'
    },
    'Project 3': {
        'ip_server': '10.10.55.95',
        'username': 'user_3',
        'distro': 'ubuntu'
    }
}

然后使用它:

from variable import data

print(data['Project 1']['ip_server'])

会输出

10.10.55.98

此时您还可以使用外部 JSON 文件作为配置文件,但这超出了本 question/answer 的范围。