猿问

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

我有一个带有这种模式的文件:


[account.invoice.set_num]

job_size = 0

trans_size = 100


[commission.invoice_second.create_full]

j_size = 0


[commission.invoice_principal.finalize]

j_size = 12

in_directory = /to/the/directory

我想将此模式转换为如下文本:


ACCOUNT_INVOICE_SET_NUM_JOB_SIZE = 0

ACCOUNT_INVOICE_SET_NUM_TRANS_SIZE = 100

COMMISSION_INVOICE_SECOND_CREATE_FULL_J_SIZE=0

COMMISSION_INVOICE_PRINCIPALE_FINALIZE_J_SIZE=12 

COMMISSION_INVOICE_PRINCIPALE_FINALIZE_IN_DIRECTORY=/to/the/directory

我尝试在 Bash unix 或 Python 中做到这一点。我不知道什么是最好/最简单的方法。


白衣非少年
浏览 149回答 1
1回答

饮歌长啸

使用config.ConfigParser功能非常可行:from configparser import ConfigParserconfig = 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=0ACCOUNT_INVOICE_SET_NUM_TRANS_SIZE=100COMMISSION_INVOICE_SECOND_CREATE_FULL_J_SIZE=0COMMISSION_INVOICE_PRINCIPAL_FINALIZE_J_SIZE=12COMMISSION_INVOICE_PRINCIPAL_FINALIZE_IN_DIRECTORY=/to/the/directory
随时随地看视频慕课网APP

相关分类

Python
我要回答