Python中的XML-RPC方法参数数据类型

Python中的XML-RPC方法参数数据类型,python,django,Python,Django,我已经用Python构建了一个XML-RPC接口,我需要强制执行一些更严格的类型。例如,传递字符串“10”而不是int 10。我可以通过一些类型转换和一点异常处理来解决这个问题,但是我想知道是否还有其他强制类型完整性的方法,比如特定于XML-RPC的方法、装饰器或其他方法 无论如何,它总是会被转换成字符串,那么为什么您关心传入的内容呢?如果您使用%s”%number,甚至只使用str(number),那么number是字符串还是int都无关紧要。XML-RPC方法(至少在xmlrpclib中)被

我已经用Python构建了一个XML-RPC接口,我需要强制执行一些更严格的类型。例如,传递字符串“10”而不是int 10。我可以通过一些类型转换和一点异常处理来解决这个问题,但是我想知道是否还有其他强制类型完整性的方法,比如特定于XML-RPC的方法、装饰器或其他方法

无论如何,它总是会被转换成字符串,那么为什么您关心传入的内容呢?如果您使用
%s”%number
,甚至只使用
str(number)
,那么
number
是字符串还是int都无关紧要。

XML-RPC方法(至少在
xmlrpclib
中)被调度到Python函数或方法,因此您必须在它们中强制执行类型检查。有很多方法可以帮助装饰师完成这项任务:


请注意,
xmlrpclib
缺少正确的错误处理,因此您可能希望。

我总是使用re.escape函数,例如:

number = re.escape(number)
这样,事情总是转换成字符串