Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 安装的Setuptools脚本找不到文本文件_Python 2.7_Setuptools - Fatal编程技术网

Python 2.7 安装的Setuptools脚本找不到文本文件

Python 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制作一个包。软件包安装正确,我可以看到复制.txt文件的日志。但是当脚本试图打开它时,它会给出“没有这样的文件或目录”错误

文本文件名为“stopwords.txt”

等级制度: W计数器 | --setup.py --舱单 --自述文件 --W计数器 | --模块1.py --模块2.py --stopwords.txt Setup.py

从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
将目录和文件名连接在一起,形成完整的绝对路径