<p>这是我的解决方案,使用PyYAML:</p>
<pre><code>import yaml
def add_line_breaks(long_string, line_len=70):
return '\n'.join(long_string[i:i+line_len] for i in range(0, len(long_string), line_len))
def long_str_representer(dumper, data): # https://stackoverflow.com/a/33300001/10590519
if len(data.splitlines()) > 1: # check for multiline string
return dumper.represent_scalar('tag:yaml.org,2002:str', data, style='|')
return dumper.represent_scalar('tag:yaml.org,2002:str', data)
yaml.add_representer(str, long_str_representer)
yamldict = { "users": [] }
yamldict["users"].append({
"username": "user",
"name": "user",
"sshkey": add_line_breaks("ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHV/xbvOHuPq6WbBhtmjUWKYPrqQlkILf8b/I6V9dZVBPzmhRZFCAf/gWny0hmZ95bVRED4iCSTCtN3Lq2VZiZ/kwBO7Y9E4vr1wVQYrr4IIwEhdaifZmWFLlwOXbt76dxJQs2xS9Z5ZQjEzZBFZqgYu42QbSi7tKBNSaLadOWbB3sq0IOzCZeSgrELlZIuUy7u1RbcS4w2Y29S3XLrbi2yVdVbPW8B9PfsG1n4q2/XR7w3gqhP6c8ibO4jYpADLZuHZvuoVpjKINO4kSdrwUfD8rl3MBIAD/Nu9sy0bIiKdSONQohxcsjMevxPOijjz4EiI1Ad4U6dDJrFlT0asYH user@email.com")
})
print(yaml.dump(yamldict, default_flow_style=False))
</code></pre>
<p>这将输出:</p>
^{pr2}$