Python os.listdir() 返回父目录列表

Python os.listdir() returning the parent directory list

大家好!我有一个非常直截了当的问题。

我有一个如下所示的目录:

|- folder1
|   |- folder1_1
|   |   |- ...
|   |- other_file.py
|   |- test.py
|- folder2
|   |- ...
|- file.py

test.py我叫

os.listdir()

我要返回的是:

['folder1', 'folder2', 'file.py']

虽然我期待得到

['folder1_1', 'other_file.py', 'test.py']

当我在 test.py 中调用它时,我认为它会从我调用的地方“列出当前目录”(正如文档所说的函数的默认参数 path='.') .还是我遗漏了什么?

当前目录取决于您启动 python 脚本的位置。

因此,如果您 运行 来自项目的根文件夹:

python3 folder1/test.py

你会得到['folder1', 'folder2', 'file.py'].

相反,如果你从 folder1 运行 你会得到你期望的结果:

cd folder1
python3 test.py

要获取文件的路径 运行宁一些功能你可以依赖 __file__ 变量:

import os
os.path.dirname(os.path.abspath(__file__))

然后您可以将其用作 os.listdir

的参数