Python在同一目录中找不到文件
我正在编写一个简单的脚本,将文件附加到邮件中,但它找不到文件。这是我的一个街区:Python在同一目录中找不到文件,python,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-Dispos
# 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'
感谢您的帮助 工作目录未设置为脚本的目录,而是设置为启动脚本的当前目录 使用
\uuuu file\uuuu
确定文件位置,并以此作为起点,使文件名
成为绝对路径:
import os
here = os.path.dirname(os.path.abspath(__file__))
filename = os.path.join(here, '20140210204804.kml')
你是如何运行脚本的?当前目录不一定与脚本的位置相同。太好了!!我不是这么想的。我可以理解“_file_uu”做了什么,但有没有任何链接可以解释它为什么/如何做的?@Abhishekdotpy:这里的大多数“技巧”都是使用;在那里查找
abspath
和dirname
\uuuuu file\uuuuu
只是当前模块的文件名,它可以相对于工作目录。@Abhishekdotpy:\uuuuuu file\uuuuu
在和中都有文档记录。