首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用ConfigParser读取python中的配置文件

用ConfigParser读取python中的配置文件
EN

Stack Overflow用户
提问于 2020-09-28 05:34:44
回答 1查看 1.9K关注 0票数 0

在我编写的python程序中,我使用program解析器读取配置。目前,我正在从s3读取文件,但我的要求是程序本身定义的配置,而不是任何其他外部源。编写的代码如下:

代码语言:javascript
运行
复制
config = configparser.ConfigParser()
config.readfp(open(s3:path\config))

配置文件格式: config.ini

代码语言:javascript
运行
复制
[section1]
var1=Y
var2=Y
var3=['col1','col2']

我正在读取位于s3中的上述文件,但我不想从s3读取,而是想从程序本身读取。要做到这一点,需要做些什么?

上面的代码是用pyspark程序编写的,我正在传递配置文件,并使用submit命令,但是要读取配置文件,我需要提供路径,这是不可取的。在aws emr中提交spark:

代码语言:javascript
运行
复制
'Args': ['spark-submit','--deploy-mode', 'cluster','--master', 'yarn','--executor-memory', conf['emr_step_executor_memory'],'--executor-cores',  conf['emr_step_executor_cores'],'--conf','spark.yarn.submit.waitAppCompletion=true','--conf','spark.rpc.message.maxSize=1024',f'{s3_path}/file1.py',  '--py-files',f'{s3_path}/file2.py',f'{s3_path}/file3.py',f'{s3_path}/file4.py','--files', f'{s3_path}/config ]

由于config.readfp(打开( s3 : path \ config )行),我需要提供s3路径,这是不可取的选项,要么是从submit传递配置文件,然后将其提供给正在读取信任的所有其他python文件,要么在程序内部读取配置。

EN

回答 1

Stack Overflow用户

发布于 2020-12-18 05:52:50

你可以这样做:

代码语言:javascript
运行
复制
parser = configparser.ConfigParser()
parser.read_dict({'section1': {'key1': 'value1',
                                'key2': 'value2',
                                'key3': 'value3'},
                   'section2': {'keyA': 'valueA',
                                'keyB': 'valueB',
                                'keyC': 'valueC'},
                   'section3': {'foo': 'x',
                                'bar': 'y',
                                'baz': 'z'}})

查看获取详细信息,以及实现这一目标的其他一些替代方法。

样本检索

代码语言:javascript
运行
复制
parser["section1"]["key1"]
'value1'
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64096449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档