0

我有一本字典,里面装满了从 Excel 文件中读取数据的列表。所有文本都是 unicode 但我没有任何特殊字符。我正在尝试将位于列表中的数据写入 .txt 文件,但无法将列表打印出来。

target.write("move % to 100 100") % product[1][0]
target.write("\n move % to 200 100") % product[1][1]
target.write("\n connect % to %") % (product[1][0], product[1][1])

product 是包含多个列表的字典。有没有一种简单的方法来格式化我的 .write 语句,以便它可以接受 unicode。我得到的错误是

"Type Error: unsupported operand type(s) for %: 'Nonetype' and 'unicode'
4

2 回答 2

0

我是个白痴,刚刚发现我可以输入 cast product 所以 str(product[1][0]) 可以满足我的需求

于 2013-06-14T17:27:08.170 回答
0

错误来自参数到不在write括号内的格式字符串。 target.write(...)返回None,以便您有效地处理:

None % product[1][0]

另一个问题 '%' 本身不是字符串格式化命令。 %s可能是你想要的。如果您使用的是 Python 2.X,则您的格式字符串不是Unicode。u在字符串前面添加。

这是修复:

target.write(u"move %s to 100 100" % product[1][0])
target.write(u"\n move %s to 200 100" % product[1][1])
target.write(u"\n connect %s to %s" % (product[1][0], product[1][1]))

或者使用新.format方法:

target.write(u"move {} to 100 100".format(product[1][0]))
target.write(u"\n move {} to 200 100".format(product[1][1]))
target.write(u"\n connect {} to {}".format(product[1][0], product[1][1]))
于 2013-06-14T17:55:26.020 回答