机器人框架:旧格式化%s和新格式之间的编码差异

时间:2016-06-17 16:03:46

标签: python encoding utf-8 robotframework

  1. 我有一个带关键字的库。关键字将一些消息写入测试文档。
  2. utf-8中的python文件,需要标题 # -*- coding: utf-8 -*-
  3. *.robot个文件位于utf-8
  4. 在具有非ascii符号的机器人文件中执行此关键字给出:

    1. 如果关键字有"%s" % msg:没有错误,则日志文件会显示俄语消息,通常会显示。
    2. 如果关键字有"{}".format(msg)"{!s}".format(msg):我收到错误UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-10: ordinal not in range(128)
    3. 正如您所看到的,我只将旧的python格式更改为新方式。但是如何解决这个问题用非新的方式解决非asc显示错误,而不是使用旧式格式化?

1 个答案:

答案 0 :(得分:0)

尝试使用Str.decode(encoding='UTF-8',errors='strict')方法。请参阅Python doc

示例:

<div class="wrapper">
    <header class="title-block">
        <h1>Palindrome Checker</h1>
        <h3>A <span>palindrome</span> is a word, phrase, or sentence that reads the same backward and forward.</h3>
    </header>
    <form>
        <label for="input"></label>
        <input id="input" type="text" placeholder="Enter a word, phrase, or sentence..." />
        <button onclick="palindrome(event)">Check Palindrome</button>
    </form>
    <div id="results"></div>
</div>