我有以下代码读取配置文件并将结果存储在一些变量中作为列表
import ConfigParser def read_config_file(): config = ConfigParser.ConfigParser() cnf_path = 'config_files/php.sr' config.read(cnf_path) if config.has_section('basic'): if config.has_option('basic', 'basic'): php_bsc_mdls = config.get('basic', 'basic').split(',') if config.has_section('advance'): if config.has_option('advance','advance'): php_adv_mdls = config.get('advance', 'advance').split(',')
现在我想获取结果变量,php_bsc_mdls并php_adv_mdls从函数中获取类似read_config_file.php_bsc_mdls或read_config_file.php_adv_mdls
php_bsc_mdls
php_adv_mdls
read_config_file.php_bsc_mdls
read_config_file.php_adv_mdls
那么可以从python函数访问/获取变量吗?
您只需要退还它们。当函数结束时,它们不再存在。
def read_config_file(): config = ConfigParser.ConfigParser() cnf_path = 'config_files/php.sr' config.read(cnf_path) if config.has_section('basic'): if config.has_option('basic', 'basic'): php_bsc_mdls = config.get('basic', 'basic').split(',') if config.has_section('advance'): if config.has_option('advance','advance'): php_adv_mdls = config.get('advance', 'advance').split(',') if php_bsc_mdls and php_adv_bls: return php_bsc_mdls,php_adv_mdls elif php_bsc_mdls: return php_bsc_mdls, None
另一种方法是将类保存到类变量中的类。然后从类而不是函数中获取这些值。
或像这样:
def read_config_file(): php_bsc_mdls = None php_adv_mdls = None config = ConfigParser.ConfigParser() cnf_path = 'config_files/php.sr' config.read(cnf_path) if config.has_section('basic'): if config.has_option('basic', 'basic'): php_bsc_mdls = config.get('basic', 'basic').split(',') if config.has_section('advance'): if config.has_option('advance','advance'): php_adv_mdls = config.get('advance', 'advance').split(',') return php_bsc_mdls, php_adv_mdls
无论哪种情况,都需要在调用函数的任何地方检查返回值。值是否为none。