Python没有在同一目录中找到文件

时间:2014-02-22 16:38:10

标签: python

我正在编写一个将文件附加到邮件的简单脚本,但它找不到该文件。这是我的一个街区:

    # 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'

感谢任何帮助。

1 个答案:

答案 0 :(得分:6)

工作目录未设置为脚本目录,而是设置为启动脚本的当前目录。

使用__file__确定文件位置,并将其作为起点使filename成为绝对路径:

import os

here = os.path.dirname(os.path.abspath(__file__))

filename = os.path.join(here, '20140210204804.kml')