我从this帖子得到了一个很好的答案,其中涵盖了我想要的一切。
[Box]
box.active = false
resolution_tracker.active = true
box.api_key =
box.api_secret =
box.job_interval = 480
box.max_attempts = 6
box.users =
[Google]
google.active = true
google.job_interval = 480
google.users = <useremail>
google.key_file_name = <key_file>
google.service_account_id = <account_id>
然而,仍然存在的问题是如何删除平等分配中的空格。例如:
box.active = false
必须
box.active=false
那就是它,我想删除=
之间的空白区域。 .properties
文件是在Python中使用ConfigParser
生成的,但似乎这些空格会产生问题。当然我可以使用其他东西来删除那些空格,但使用StringIO
,ConfigParser
或任何其他Python
库是否有更优雅的解决方案?
**编辑**
这个问题并不重复,因为我们正试图找到一种更简单的方法来使用API删除=
周围的空白区域,而不是重写ConfigParser
类。
答案 0 :(得分:4)
ConfigParser.write()
有一个标志
#!/usr/bin/env python3
import sys
from configparser import ConfigParser
from io import StringIO
CONFIG = '''
[Box]
box.active = false
resolution_tracker.active = true
box.api_key =
box.api_secret =
box.job_interval = 480
box.max_attempts = 6
box.users =
[Google]
google.active = true
google.job_interval = 480
google.users = <useremail>
google.key_file_name = <key_file>
google.service_account_id = <account_id>
'''
parser = ConfigParser()
parser.readfp(StringIO(CONFIG))
parser.write(sys.stdout, space_around_delimiters=False)
输出:
[Box]
box.active=false
resolution_tracker.active=true
box.api_key=
box.api_secret=
box.job_interval=480
box.max_attempts=6
box.users=
[Google]
google.active=true
google.job_interval=480
google.users=<useremail>
google.key_file_name=<key_file>
google.service_account_id=<account_id>