我想打印Python配置解析器对象的内容。
以下代码
for section in system_config.config.sections():
print ("\n[" + section + "]")
for (key, value) in system_config.config.items(section):
print(key + "=" + value)
Run Code Online (Sandbox Code Playgroud)
版画
[GENERAL]
data_roots=[["c:\\data", "/data"] , ["d:\\data2", "/data2"]]
test_data_folder=c:\data\atp-test-data
mount_render_python_apps=false
mount_render_modules=false
host_memory=24
host_number_of_cores=4
at_core_threads=15
Run Code Online (Sandbox Code Playgroud)
为了提高可读性,以下内容是可取的:
[GENERAL]
data_roots = [["c:\\data", "/data"] , ["d:\\data2", "/data2"]]
test_data_folder = c:\data\atp-test-data
mount_render_python_apps = false
mount_render_modules = false
host_memory = 24
host_number_of_cores = 4
at_core_threads = 15
Run Code Online (Sandbox Code Playgroud)
在C ++中,可以通过在使用流运算符“ <<”时设置第一个字段的“宽度”来实现。
问题是,如何使用Python做到这一点?
您可以使用{:<30}format来向左对齐最多30个长度的字符串,这是一个完整的示例:
import random
import string
def randomstr():
letters = string.ascii_lowercase
return ''.join(random.choice(letters) for i in range(random.randint(1,30)))
for _ in range(10):
print('{:<30} = {}'.format(randomstr(), randomstr()))
Run Code Online (Sandbox Code Playgroud)
样品输出
ohpy = bxqoknodteueocokveygkdxmzzxubi
rsulmvnqeyeihchanxrggorlm = vtfeu
cvuhpavispkfbttbadt = d
dgfcqtswqjvywosiikkjdmpyvjhoo = ijx
ainrzifrjrkqfanrxyczs = aluoaoizxtmcrvqv
zpujlyopvrucjqugtaamu = pezh
eot = uizfrxpkjywtlxbgzhrcuuj
hfavmswauekyrtgzrhyxwmbgcyzfq = znwfpuosysirtbkiiimzjkifbueq
qxsqzwkyafcwjrjwnwlradrudush = barehtexzpku
hntgerexophiqbafmwfwdomas = frtsmtakcfztlwfesiijacbmocksqq
Run Code Online (Sandbox Code Playgroud)
您可能不知道密钥字符串的最大长度。但是您可以在这种情况下maxlen = max(len(k) for k in system_config.config.keys())使用maxlen类似的格式并使用这样的格式来执行此操作'{:<{width}} = {}'.format(randomstr(), randomstr(), width=maxlen)