我正在使用 python 和 XMLBuilder,这是我从互联网 (pypi) 下载的模块。它返回一个对象,其工作方式类似于字符串(我可以执行 print(x)),但是当我使用 file.write(x) 时,它会崩溃并在 XMLBuilder 模块中抛出错误。
我只是想知道如何将它返回的对象转换为字符串?
我已确认我正在正确写入文件。
我已经尝试过例如 x = y,尽管正如我所想,它只是创建了一个指针,而且 x=x+""
put 我仍然收到错误。它还返回一个带有“\n”的类似字符串的对象。
任何有关此事的帮助将不胜感激。
最佳答案
file.write(str(x))
可能适合你。
背景信息:大多数类型都有一个函数__str__
或__repr__
(或两者)定义。如果您将这种类型的对象传递给 print
,它会识别出您没有传递 str
并尝试调用这些函数之一以将对象为字符串。
但是,并非所有函数都像 print
一样智能,如果您向它们传递非字符串的内容,它们就会失败。此外,字符串连接不适用于混合类型。要使用这些函数,您必须手动转换非字符串类型对象,方法是用 str()
包装它们。例如:
x = str(x)+" "
这将创建一个新字符串并将其分配给变量x
,该变量之前保存了该对象(您现在失去了该对象!)。
关于python - 在python中将类似字符串的对象转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17136085/