python - 迭代目录时出现文件未找到错误

标签 python numpy

我尝试通过以下方式迭代文件目录:

path = r'C:\my\path'
for filename in os.listdir(path):
     nodes_arr = np.genfromtxt(filename, delimiter=',')

我收到一个错误:

IOError("%s not found." % path)
OSError: 10028057_nodes not found.

当我尝试通过以下方式打印文件时:

path = r'C:\my\path'
for filename in os.listdir(path):
    print(filename)

我得到一个列表,它包含目录中的所有文件,第一个是“10028057_nodes”,它提供了错误...

最佳答案

os.listdir 仅返回文件名。 Python IO 函数,无论是直接调用 (open...) 还是通过 numpy 调用,实际上并不知道这些名称位于 path 中。除非你的路径是当前目录(Python 会假定),否则这将失败 - 因为当前目录中不存在所述文件名。

您需要的是将路径连接到文件名,因此:

nodes_arr = np.genfromtxt(os.path.join(path, filename), delimiter=',')

关于python - 迭代目录时出现文件未找到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59300346/

相关文章:

python - 何时使用 sys.stdout 而不是 sys.stderr?

python - numpy 和稀疏矩阵之间的点积

python - OpenCV python 中的实时热图生成

python - scipy.leastsq 和 scipy.least_squares 之间的区别

python - 单独线程上的扭曲 react 器调用

python - 将 pandas 数据框中出现的每个字符串值替换为单独的浮点值

Python numpy按条件过滤二维数组

performance - 平均超过具有不同切片的 2d numpy 数组

python - 为什么 list.remove() 的行为不像人们预期的那样?

python - 如何使用 scikit learn 获取特定文档的主题概率?