Python 2.7 安装的Setuptools脚本找不到文本文件
我正在尝试使用setuptools制作一个包。软件包安装正确,我可以看到复制.txt文件的日志。但是当脚本试图打开它时,它会给出“没有这样的文件或目录”错误 文本文件名为“stopwords.txt” 等级制度: W计数器 | --setup.py --舱单 --自述文件 --W计数器 | --模块1.py --模块2.py --stopwords.txt Setup.pyPython 2.7 安装的Setuptools脚本找不到文本文件,python-2.7,setuptools,Python 2.7,Setuptools,我正在尝试使用setuptools制作一个包。软件包安装正确,我可以看到复制.txt文件的日志。但是当脚本试图打开它时,它会给出“没有这样的文件或目录”错误 文本文件名为“stopwords.txt” 等级制度: W计数器 | --setup.py --舱单 --自述文件 --W计数器 | --模块1.py --模块2.py --stopwords.txt Setup.py 从setuptools导入设置中,查找\u包 设置(name=“wcounter”, version=“1.0”,
从setuptools导入设置中,查找\u包
设置(name=“wcounter”,
version=“1.0”,
packages=find_packages(),
包_data={“”:[“stopwords.txt”]},
include\u package\u data=True,
zip_safe=True,
entry_points={'console_scripts':['wcount=wcounter.wcounter:main'],},
)
在python中,当使用相对路径打开文件--打开(“stopwords.txt”,“r”)
时,路径将相对于当前工作目录,而不是从中打开文件的python文件
例如,考虑下面的脚本:
C:\temp> python C:\path\to\myscript.py
如果myscript.py
试图打开('stopwords.txt')
,它将在C:\temp\stopwords.txt
中查找,而不是C:\path\to\stopwords.txt
您需要明确地引用stopwords.txt
的完整路径。您可以通过使用magic\uuuuu file\uuuu
属性来实现这一点
例如,如果您试图从示例中的module1.py
打开文件,您可以这样做
import os
fp = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'stopwords.txt')
open(fp, 'r')
os.path.abspath
确保它是一个完整路径(在某些情况下,\uuuu文件\uuuu
将是一个相对路径)
os.path.dirname
获取模块名的目录部分--C:\Python27\lib\site packages\wcounter
os.path.join
将目录和文件名连接在一起,形成完整的绝对路径。在python中,当使用相对路径打开文件时--open(“stopwords.txt”,“r”)
--路径将相对于当前工作目录,而不是从中打开文件的python文件
例如,考虑下面的脚本:
C:\temp> python C:\path\to\myscript.py
如果myscript.py
试图打开('stopwords.txt')
,它将在C:\temp\stopwords.txt
中查找,而不是C:\path\to\stopwords.txt
您需要明确地引用stopwords.txt
的完整路径。您可以通过使用magic\uuuuu file\uuuu
属性来实现这一点
例如,如果您试图从示例中的module1.py
打开文件,您可以这样做
import os
fp = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'stopwords.txt')
open(fp, 'r')
os.path.abspath
确保它是一个完整路径(在某些情况下,\uuuu文件\uuuu
将是一个相对路径)
os.path.dirname
获取模块名的目录部分--C:\Python27\lib\site packages\wcounter
os.path.join
将目录和文件名连接在一起,形成完整的绝对路径