我有一个机器人框架文件,我在其中调用python函数并将其传递给参数。我想将参数作为Unicode传递给python,但它一直作为字符串传递。
功能是
def assert_my_test( var1, var3=[]):
print "var1" #this i want in unicode, unicode(var1) doesnt help
f=gzip.open("myfile.gzip")
lines=f.readlines()
if any(unicode(var1) in unicode(s) for s in lines):
print "found our line"
机器人是
======================== ===================== =======================
Test Case Action Argument
======================== ===================== =======================
test1 myprog.assert_my_test \x01\x02\x03
输出是x01x02x03而不是u“ x01x02x03”
任何想法如何正确传递Unicode?非常感谢。
我尝试将“ Unicode(var1)”传递给函数定义,但这会导致错误。
我要传递的完整变量是-
\x01\x02\x03html&h=250&slotname5&adk=1204670.0&url=htt||1|0Ft2qy|4CX000||||17.022qy^A0C5vZBmjiK^ABusiness^DPersonalFin-0^A^A^Afalse^Afalse^A^A^A^A^A^A^A^A^A0^A0^A0^A0^A^A^A1^A^A^A^A1^A^A^A^A6284035007053575^A^A^Aen^A^Ab1cc^A^A8281671^Aalias_type^DDX^Calias_id^D4CXDxrs315^C"
我想查找文件中是否存在此变量。
当您打印一个值时,自然会得到该值的可打印表示形式。
我不知道为什么会这样,但是您可以通过调用repr()以下命令获得所需的输出:
print repr(var1)
(此外,与您的问题无关,但不要将列表用作默认参数:请查看此问题的原因。)
编辑所以我仍然不确定您要做什么,但是我认为这是因为您有一个由斜杠,X和数字组成的原始字符串,而不是字节。您可以使用“ unicode-escape”编解码器对其进行解码,从而将其转换为unicode:
var1 = r'\x01\x02\x03'
decoded = var1.decode('unicode-escape') # result: u'\x01\x02\x03'
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。