我正在编写一个将文件附加到邮件的简单脚本,但它找不到该文件。这是我的一个街区:
# KML attachment
filename='20140210204804.kml'
fp = open(filename, "rb")
att = email.mime.application.MIMEApplication(fp.read(),_subtype="kml")
fp.close()
att.add_header('Content-Disposition','attachment',filename=filename)
msg.attach(att)
文件20140210204804.kml与脚本位于同一文件夹中。我收到以下错误:
IOError: [Errno 2] No such file or directory: '20140210204804.kml'
感谢任何帮助。
答案 0 :(得分:6)
工作目录未设置为脚本目录,而是设置为启动脚本的当前目录。
使用__file__
确定文件位置,并将其作为起点使filename
成为绝对路径:
import os
here = os.path.dirname(os.path.abspath(__file__))
filename = os.path.join(here, '20140210204804.kml')