Python函数输入相同,但不起作用
我是Python新手,不知道为什么这不起作用 我正在修改一些现有的代码。在其中一个调用中,它的值是硬编码的,我想给我们输入一个值。现在两者完全相同,我将它们打印出来进行测试,但当我将它们传递到函数中时,一个工作,另一个不工作 这是一种类型的东西,我以为Python会自动为您转换东西,或者根本不在乎Python函数输入相同,但不起作用,python,Python,我是Python新手,不知道为什么这不起作用 我正在修改一些现有的代码。在其中一个调用中,它的值是硬编码的,我想给我们输入一个值。现在两者完全相同,我将它们打印出来进行测试,但当我将它们传递到函数中时,一个工作,另一个不工作 这是一种类型的东西,我以为Python会自动为您转换东西,或者根本不在乎 class Client( threading.Thread ): HOUSIMFILE = 'C:/projects/HoudiniCom/RamCode/houdini/hip/fu
class Client( threading.Thread ):
HOUSIMFILE = 'C:/projects/HoudiniCom/RamCode/houdini/hip/fu_sim_fullroom_crdpump_hydunit_multiple_wshader_v13b.hipnc'
....
def run(self):
try:
print self.__class__.HOUSIMFILE
print inPacket.actionData.itemName #printed text is the same
#hou.hipFile.load(self.__class__.HOUSIMFILE, True ) #This call works
hou.hipFile.load(inPacket.actionData.itemName, True ) #This call fails
except:
print "FUSimServer: Can't Start Simulation"
pass
编辑
使用repr,我得到以下结果
‘C:/projects/HoudiniCom/RamCode/houdini/hip/fu_sim_fullroom_crdpump_hydunit_multiple_wshader_v13b.hipnc’
u'C:/projects/HoudiniCom/RamCode/houdini/hip/fu_sim_fullroom_crdpump_hydunit_multiple_wshader_v13b.hipnc'
为什么第二个前面有一个u?以u开头的字符串是unicode。它们不一样。。。尝试打印reprself.\uuuu class\uuuuuuu.HOUSIMFILE并打印reprinPacket.actionData.itemName和compareYour'C:/projects/HoudiniCom/RamCode/houdini/hip/fu\u sim\u fullroom\u crdpump\u hydunit\u multiple\uwshader\u v13b.hipnc:/projects/HoudiniCom/RamCode/houdini/hip\u sim\u fullroom\u crdpump\u hydump\u hydunit\u multiple\uwhader v13b.hipnc为什么前面有一个u,这两条载重线的顺序如何?可能是因为你加载了两次文件导致了问题?我只调用了其中一个,我只是把两个都放进去展示。好的,明白了,我只需要用str loadstrvarnmath来包装它。竖起大拇指!