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

Abh*_* py 2 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)
Run Code Online (Sandbox Code Playgroud)

文件20140210204804.kml与脚本位于同一文件夹中.我收到以下错误:

 IOError: [Errno 2] No such file or directory: '20140210204804.kml'
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.

Mar*_*ers 7

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

使用__file__来确定该文件的位置,并把它作为一个起点,使filename绝对路径:

import os

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

filename = os.path.join(here, '20140210204804.kml')
Run Code Online (Sandbox Code Playgroud)