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
的参数
大家好!我有一个非常直截了当的问题。
我有一个如下所示的目录:
|- 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