为了账号安全,请及时绑定邮箱和手机立即绑定

在另一个中转换字符串结构

在另一个中转换字符串结构

白衣非少年 2022-06-28 15:36:01
我有一个带有这种模式的文件:[account.invoice.set_num]job_size = 0trans_size = 100[commission.invoice_second.create_full]j_size = 0[commission.invoice_principal.finalize]j_size = 12in_directory = /to/the/directory我想将此模式转换为如下文本:ACCOUNT_INVOICE_SET_NUM_JOB_SIZE = 0ACCOUNT_INVOICE_SET_NUM_TRANS_SIZE = 100COMMISSION_INVOICE_SECOND_CREATE_FULL_J_SIZE=0COMMISSION_INVOICE_PRINCIPALE_FINALIZE_J_SIZE=12 COMMISSION_INVOICE_PRINCIPALE_FINALIZE_IN_DIRECTORY=/to/the/directory我尝试在 Bash unix 或 Python 中做到这一点。我不知道什么是最好/最简单的方法。
查看完整描述

1 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

使用config.ConfigParser功能非常可行:


from configparser import ConfigParser


config = ConfigParser()

config.read('yourfile')


config_lines = ''

for section in config.sections():

    s_key = section.replace('.', '_')   # transformed section key

    for k, v in config.items(section):

        config_lines += f'{s_key}_{k}'.upper() + f'={v}\n'


print(config_lines)

输出:


ACCOUNT_INVOICE_SET_NUM_JOB_SIZE=0

ACCOUNT_INVOICE_SET_NUM_TRANS_SIZE=100

COMMISSION_INVOICE_SECOND_CREATE_FULL_J_SIZE=0

COMMISSION_INVOICE_PRINCIPAL_FINALIZE_J_SIZE=12

COMMISSION_INVOICE_PRINCIPAL_FINALIZE_IN_DIRECTORY=/to/the/directory


查看完整回答
反对 回复 2022-06-28
  • 1 回答
  • 0 关注
  • 138 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号