您应该将打开的文件(以写入模式)传递给Generator()
。当前,您仅向它传递一个字符串,这就是为什么它在尝试调用.write()
该字符串时失败的原因。@H_419_3@
所以做这样的事情:@H_419_3@
import os
cwd = os.getcwd()
outfile_name = os.path.join(cwd, 'message.eml')
class Gen_Emails(object):
# ...
def SaveToFile(self,msg):
with open(outfile_name, 'w') as outfile:
gen = generator.Generator(outfile)
gen.flatten(msg)
:以写入模式with open(outfile_name, 'w') as outfile
在路径outfile_name
下打开文件,并将文件指针分配给打开的文件outfile
。退出with
块后,上下文管理器还负责为您关闭文件。@H_419_3@
os.path.join()
将以跨平台的方式连接路径,这就是为什么与手工连接路径相比,您应该更喜欢它的原因。@H_419_3@