为什么路径在PYTHONPATH中却找不到文件?

为什么路径在PYTHONPATH中却找不到文件?,python,python-3.x,Python,Python 3.x,我有: 在pythonpath和一些XML文件中设置,这些文件位于: /home/stefan/workspace/git/master-thesis/data 但是,如果我尝试打开这些XML文件,我会收到: /home/stefan/workspace/git/master-thesis/data/semeval/*.xml 这仅适用于模块吗?是的,在此路径上搜索模块,请参阅: 增加模块文件的默认搜索路径。格式与shell的路径相同:一个或多个目录路径名由os.pathsep分隔(例如Un

我有:

在pythonpath和一些XML文件中设置,这些文件位于:

/home/stefan/workspace/git/master-thesis/data
但是,如果我尝试打开这些XML文件,我会收到:

/home/stefan/workspace/git/master-thesis/data/semeval/*.xml

这仅适用于模块吗?

是的,在此路径上搜索模块,请参阅:

增加模块文件的默认搜索路径。格式与shell的路径相同:一个或多个目录路径名由
os.pathsep
分隔(例如Unix上的冒号或Windows上的分号)。不存在的目录将被静默忽略


您需要提供
open
的完整路径才能找到它(假定您不更改当前目录)。

Pythonpath搜索python模块/包,而不是常规数据。它仅用于导入模块。为了避免硬编码数据文件的路径,您需要为应用程序提供某种配置或设置文件。另一种可能是使用当前正在执行的脚本的路径作为与其相关的数据路径的根目录。@martineau谢谢!我想我会使用相对路径解决方案!如果您可以使用它,这是一个不错的选择,因为它相对容易实现。您可以从内置预定义的
\uuuu文件\uuuu
变量(以及使用各种
os.path
实用程序函数的目录部分)获取当前正在执行的脚本的路径。哦,这太不幸了。我真的认为这将包括所有目录。谢谢你的回答!
FileNotFoundError: [Errno 2] No such file or directory: 'ABSA16_Restaurants_Train_SB1_v2.xml'