Python 属性错误:';文件';对象没有属性';编码';

Python 属性错误:';文件';对象没有属性';编码';,python,Python,回溯(最近一次呼叫最后一次): 文件“E:\blahblahblah\emailsend.py”,第26行,在 msg.attach(MIMEText(文件)) 文件“E:\blahblahblah\Python 2.7.11\lib\email\mime\text.py”,第30行,在\uu init中__ self.set\u有效负载(\u文本,\u字符集) 文件“E:\blahblahblah\Python 2.7.11\lib\email\message.py”,第226行,在set\u

回溯(最近一次呼叫最后一次):
文件“E:\blahblahblah\emailsend.py”,第26行,在
msg.attach(MIMEText(文件))
文件“E:\blahblahblah\Python 2.7.11\lib\email\mime\text.py”,第30行,在\uu init中__
self.set\u有效负载(\u文本,\u字符集)
文件“E:\blahblahblah\Python 2.7.11\lib\email\message.py”,第226行,在set\u有效载荷中
self.set\u字符集(字符集)
文件“E:\blahblahblah\Python 2.7.11\lib\email\message.py”,第268行,在set\u字符集中
cte(自我)
文件“E:\blahblahblah\Python 2.7.11\lib\email\encoders.py”,第73行,在encode_7or8bit中
原始编码('ascii')
AttributeError:“文件”对象没有属性“encode”https://stackoverflow.com/questions/ask#
MIMEText获取文件的内容,而不是文件对象

msg.attach(MIMEText(open("newfile.txt").read()))
MIMEText接受文件的内容,而不是文件对象

msg.attach(MIMEText(open("newfile.txt").read()))

你在哪里读到
MIMEText()
可以获取文件?@IgnacioVazquez Abrams我以为open()会将其转换为变量内的字符串。你在哪里读到
open()
返回文本?
open()
返回文件对象。在Python2中,
open()
的另一个名称是
file()
,这就是为什么不应该有一个名为
file
@cdarke的变量的原因谢谢你的链接。我对Python比较陌生,所以我假设它会将.txt作为字符串打开。您在哪里读到
MIMEText()
可以获取文件?@IgnacioVazquez Abrams我以为open()会将其转换为变量内的字符串。您在哪里读到
open()
返回文本?
open()
返回文件对象。在Python2中,
open()
的另一个名称是
file()
,这就是为什么不应该有一个名为
file
@cdarke的变量的原因谢谢你的链接。我对Python比较陌生,所以我认为它会以字符串的形式打开一个.txt。谢谢,它成功了。不过,您缺少另一个结束括号。它应该是:msg.attach(MIMEText(open(“newfile.txt”).read()),谢谢它的工作。不过,您缺少另一个结束括号。它应该是:msg.attach(MIMEText(open(“newfile.txt”).read())