gpt4 book ai didi

python - 从不同的 .py 文件调用函数时找不到 Errno 2 文件

转载 作者:太空宇宙 更新时间:2023-11-03 14:14:10 24 4
gpt4 key购买 nike

我创建了一个从文件中读取数据并将其数据保存在数组中的函数。

该函数位于Posts.py中:

index = 'Forum/Topics/index.txt'

def loadTopicNames():
with open(index, 'r') as file:
data = file.readlines()
for row in data:
row = row.replace('\n', '')
topicNames.append(row)

此功能有效,文件位置没有问题。但是,当我在 Forum.py 模块中导入 Posts.py 模块,并从 Forum.py 执行它时,出现以下错误:

with open(index, 'r') as file:
FileNotFoundError: [Errno 2] No such file or directory: 'Forum/Topics/index.txt'

以下是来自 Forum.py 的相关代码:

import Posts
Posts.loadTopicNames()

注意:我已经在 stackoverflow 上找到了一些解决方案,但它们大多包括将路径设置为绝对路径,这不是这里的选项。Posts.pyForum.py 位于同一文件夹中。

这是文件在项目中的位置的表示:

项目/论坛.py

项目/Posts.py

项目/论坛/主题/index.txt

项目/其他东西...

编辑:发现问题...Forum.py 的工作目录不正确,这就是它搞乱一切的原因。它的工作目录错误,因为当我第一次制作模块时,我将其制作在错误的文件夹中。然后当我意识到我的错误时,我只是将其复制到正确的位置,但工作目录保持不变......

最佳答案

仅当您在 Forum 目录所在的同一目录中运行 python Forum.py 时,此代码才有效。

UPD:我在笔记本电脑上重新创建了您的案例,一切正常。请检查代码:

帖子.py:

index = 'Forum/Topics/index.txt'

def loadTopicNames():
with open(index, 'r') as file:
data = file.readlines()
for row in data:
print(row)

论坛.py:

import Posts
Posts.loadTopicNames()

索引.txt:

test text

项目目录:

$ ls -R
Forum Forum.py Posts.py

./Forum:
Topics

./Forum/Topics:
index.txt

运行并输出:

$ pwd
/Users/myuser/Forum
$ python Forum.py
test text

关于python - 从不同的 .py 文件调用函数时找不到 Errno 2 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48311704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com