首页 > 解决方案 > 如何在 Python 的不同机器上找到相同的文件夹?

问题描述

我有以下文件夹结构:

demo
├── module1
│   └── demo.py     
├── module2
    └── somefile.txt

我希望无论从哪里somefile.txt启动都能找到。demo.pydemo.py

我尝试过的是通过以下方式使用 os.walk() :

import os

if __name__ == "__main__":
    for root, subdir, files in os.walk("module2", False):
        for file in files:
            print(os.path.join(root, file))

demo.py只有当我在demo/文件夹中启动时才能找到它。如果我demo/module1从那时开始启动它,它不会打印任何内容。

我的最终目标是能够在任何使用 Python 的机器上运行这段代码,无论根demo/文件夹放在系统中的哪个位置。

标签: pythonpython-3.xdirectorydirectory-structure

解决方案


获取运行代码正确位置的流行方法

import os

FOLDER = os.path.abspath(os.path.basename(__file__))

如果你使用它,demo.py那么你应该总是得到/full/path/to/module1

然后你可以做

path = os.path.join(FOLDER, "..", "module2", "somefile.txt")

获得完整路径somefile.txt


推荐阅读