我一直试图将变量写入临时文本文件,但出现以下错误:
Traceback (most recent call last):
File "F:/A453/_Codes_/APP CONFIG/Temp.py", line 102, in <module>
ORXQC-IIHL2-6AV55-FIJEV-2""")
File "C:\Program Files (x86)\Python34\lib\tempfile.py", line 399, in func_wrapper
return func(*args, **kwargs)
TypeError: 'str' does not support the buffer interface
我的脚本如下:
^{pr2}$请帮我克服这个错误
谢谢
TemporaryFile
的默认模式是"w+b"
,例如二进制。必须为文本显式提供模式:打开
TempFile
返回的文件的默认模式是'w+b'
。该字符串中的b
表示它是以二进制模式打开的,您需要将bytes
实例传递给它的write
方法,而不是像您现在这样的str
实例。在你有几个选择。您可以将字符串编码为
bytes
。或者,您可以向TempFile
传递一个模式,让它以文本模式打开文件(这样write
需要Unicodestr
实例)。使用适当的模式可能是更好的解决方案,但您的里程数可能会有所不同。在docs解释了在打开要写入的文件时,
tempfile
默认使用二进制模式。因此,您不能向它写入字符串(这只适用于文本模式),只能写入bytes
对象。在因此,要么重写默认值(如Daniel的回答),要么用适当的编码对字符串进行编码:
或者立即使用
^{pr2}$bytes
对象:相关问题 更多 >
编程相关推荐