2

这是代码

sys.path.append( "../tools/" )
from parse_out_email_text import parseOutText #(its just another .py file that has a function I wrote)

from_sara  = open("from_sara.txt", "r")
from_chris = open("from_chris.txt", "r")

from_data = []
word_data = []

temp_counter = 0

for name, from_person in [("sara", from_sara), ("chris", from_chris)]:
  for path in from_person:
    ### only look at first 200 emails when developing
    ### once everything is working, remove this line to run over full dataset
    temp_counter += 1
    if temp_counter < 200:
        path = os.path.join('..', path[:-1]) #(THIS IS THE PART I CAN'T GET MY HEAD AROUND)
        print path
        email = open(path, "r")

        email.close()

print "emails processed"
from_sara.close()
from_chris.close()

当我运行它时,它给了我一个错误,如下所示:

Traceback (most recent call last):
..\maildir/bailey-s/deleted_items/101.
File "C:/Users/AmitSingh/Desktop/Data/Udacity/Naya_attempt/vectorize_text.py", line 47, in <module>
email = open(path, "r")
IOError: [Errno 2] No such file or directory: '..\\maildir/bailey-s/deleted_items/101.'

我的笔记本电脑上什至没有这个 """'..\maildir/bailey-s/deleted_items/101.'""" 目录路径,我试图通过替换代码中的 '..' 来更改路径通过我保存所有文件的文件夹的实际路径名,没有任何变化。

path = os.path.join('..', path[:-1])

这段代码是机器学习在线课程的一部分,我已经在这一点上停留了 3 个小时。任何帮助将非常感激。

(PS 这不是家庭作业问题,也没有附加成绩,它是免费的在线课程)

4

4 回答 4

1

您的测试数据不存在,因此无法找到。您应该再次运行启动代码并确保必要的邮件目录都在那里。

于 2016-02-25T08:16:39.637 回答
1

转到 udacity 项目目录中的工具并运行 startup.py。它大约是 400 Mb,所以请高枕无忧!

于 2017-03-14T06:36:02.427 回答
0
  • 在您的 Udacity 课程文件夹中,首先转到工具目录,检查您是否存在maildir文件夹以及是否有子文件夹,如果存在则返回text_learning/vectorize_text.py,找到这行代码path = os.path.join('..', path[:-1]),将其更改为path = os.path.join('../tools/', path[:-1])

  • 在终端上cd text_learning,然后python vectorize_text.py,这应该可以解决问题。

  • 如果这不能解决问题,请转到 udacity 项目目录中的工具并运行 startup.py。等到过程完成

  • 重复步骤 1。

于 2021-09-20T00:09:23.383 回答
0

我知道这已经很晚了,但是在遇到完全相同的问题后我发现了这篇文章。

我在这里和其他网站上找到的所有答案,甚至是原始 github 中的问题请求,都只是“运行 startup.py”,我已经这样做了。然而,它告诉我:

Traceback (most recent call last):

  File "K:\documents\Udacity\Mini-Projects\ud120-projects\text_learning\vectorize_text.py", line 48, in <module>
    email = open(path, "r")

FileNotFoundError: [Errno 2] No such file or directory: '..\\maildir/bailey-s/deleted_items/101.'

就像你的一样。然后我找到了这个文件的位置,它确实在我的电脑上

如您在此处看到的,我在 os.path.join() 行中添加了“工具”:

for name, from_person in [("sara", from_sara), ("chris", from_chris)]:
    for path in from_person:
        ### only look at first 200 emails when developing
        ### once everything is working, remove this line to run over full dataset
        temp_counter += 1
        if temp_counter < 200:
            #path = os.path.join('..', path[:-1])  <---original
            path = os.path.join('..','tools', path[:-1])
            print(path)
            email = open(path, "r")

这最终对我有用。所以,我希望它可以帮助其他在未来偶然发现这个问题的人。

此外,我注意到一些我发现的其他课程回购的例子。他们的“工具”文件夹被命名为“工具”。

这是一个示例,这是一个有人调整为使用 jupyter notebook 来运行课程的 repo所以,使用你拥有的那个。

于 2021-09-13T18:29:14.373 回答