为什么python说当目录中有文件时它没有目录中的文件?

时间:2014-08-27 20:44:28

标签: python file directory ioerror

我正在使用python,我正在运行在同一目录中使用该文件的脚本,但它一直给我错误,说没有这样的文件。 顺便说一下,我正在使用该脚本文件作为模块来启用我的其他脚本文件。我用作模块的文件来自github项目:https://github.com/nik0spapp/unsupervised_sentiment(无监督情绪分析)

Traceback (most recent call last):
  File "sentiment_analysis.py", line 21, in <module>
    import sentiment as unsupervised_sentiment
  File "/Users/chlee021690/Desktop/Programming/Python/Recommender System/unsupervised_sentiment/sentiment.py", line 20, in <module>
    from hp_classifiers import HpObj, HpSubj
  File "/Users/chlee021690/Desktop/Programming/Python/Recommender System/unsupervised_sentiment/hp_classifiers.py", line 16, in <module>
    from lexicon import Lexicon    
  File "/Users/chlee021690/Desktop/Programming/Python/Recommender System/unsupervised_sentiment/lexicon.py", line 17, in <module>
    from datasets.emoticons_patch import patch_emoticons 
  File "/Users/chlee021690/Desktop/Programming/Python/Recommender System/unsupervised_sentiment/datasets/emoticons_patch.py", line 23, in <module>
    emoticons_file = open("emoticons.data","r")
IOError: [Errno 2] No such file or directory: 'emoticons.data'

对我来说,任何帮助对我来说都是最好的。谢谢!

2 个答案:

答案 0 :(得分:0)

在程序中使用相对路径而不是绝对路径时,可能会在执行程序的目录中查找文件(如“emoticons.data”)(在本例中为脚本,而不是模块) 。)我首先尝试将所有文​​件路径更改为程序中的绝对路径,或将“emoticons.data”放在执行目录中。

答案 1 :(得分:0)

您的错误(emoticons_file = open("emoticons.data","r"))与您引用的源代码(unsupervised_sentiment / datasets / emoticons_patch.py​​:23为emoticons_file = open("datasets/emoticons.data","r"))之间存在差异。但基本问题是一样的。模块尝试使用相对路径名打开文件,该名称仅在从项目目录执行时才有效。

如果您更新到我在回购中找到的代码,您必须cd到/Users/chlee021690/Desktop/Programming/Python/Recommender System/unsupervised_sentiment/才能运行它。

对我来说,这已经破了,项目维护者应该修复它。