我整天都在与这个问题作斗争。我在网上也找不到答案。
我有一个yaml文档,它为我的消息/响应服务器存储了一些服务器配置,其中一个参数是“消息终结者”。您可以猜到,这就是我的服务器知道要查找的客户端发送的消息的消息终止器。\r\n
是telnet发送的默认值,因此我将其设置为默认值。
Yaml文件:global:
server_port: 7040
bound_ip: 0.0.0.0
message_terminator: \r\n
我要做的是将消息结束符值读取为实际的回车和换行符,或者将其从字符串表示形式转换为二进制转义代码:回车和换行符,而不是字符串表示形式“\r\n”
例如,如果我使用python:print('\r\n')
它打印回车和换行符,而不是字符。
但是,如果我从python中的yaml配置中读取值:print(config['global']['message_terminator'])
它打印出字符:\r\n
更改Yaml文档并添加引号,如:global:
server_port: 7040
bound_ip: 0.0.0.0
message_terminator: '\r\n'
以及global:
server_port: 7040
bound_ip: 0.0.0.0
message_terminator: b'\r\n'
甚至global:
server_port: 7040
bound_