You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Python运行代码时无法读取子文件夹内的文本文件该如何解决?

解决文件路径找不到的问题

嘿,别担心,完全不用把所有文件都堆在根目录里!这个问题的核心是文件路径的指向错误——当你在Game目录运行代码时,Python默认会从当前工作目录(也就是Game根目录)查找文件,所以直接写"Note8.txt"自然找不到Text子文件夹里的文件。

给你几个简单的解决方案,选适合你的就行:

1. 使用相对路径(最直接推荐)

直接在文件名前加上子文件夹的路径,告诉Python去Text文件夹里找这个文件。代码改成这样:

with open("Text/Note8.txt", 'r') as Note8txt:
    Note8 = Note8txt.read()  # 顺便提一句:你原来的代码里`read(Note8txt.read())`是错误的写法,应该直接调用文件对象的read()方法

Windows系统也可以用反斜杠"Text\\Note8.txt",但正斜杠/是跨平台的,在Windows和Linux/macOS都能正常工作,更推荐。

2. 将子文件夹添加到Python的搜索路径

如果你有很多文件都在Text文件夹里,不想每次都写路径,可以用sys模块把Text文件夹加入Python的搜索路径:

import sys
sys.path.append("Text")  # 把Text文件夹添加到Python的文件搜索列表

with open("Note8.txt", 'r') as Note8txt:
    Note8 = Note8txt.read()

这样之后,你直接写文件名就能找到Text里的文件了。

3. 绝对路径(不推荐,灵活性差)

你也可以写文件的绝对路径,比如"C:/Users/xxx/Game/Text/Note8.txt"(Windows)或者"/home/xxx/Game/Text/Note8.txt"(Linux/macOS),但这种方法一旦你移动了Game目录的位置,代码就会失效,所以不推荐日常使用。

总之,合理用子文件夹整理文件是非常好的习惯,完全没必要都放到根目录,只要指定正确的文件路径就能解决问题啦!

内容的提问来源于stack exchange,提问作者H Gaming

火山引擎 最新活动