如何在 Python 中的不同机器上找到相同的文件夹?

How to find the same folder on different machine in Python?

我有以下文件夹结构:

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

我希望能够从 demo.py 中找到 somefile.txt,无论 demo.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/ 文件夹中时启动 demo.py 才能找到它。如果我从 demo/module1 启动它,那么它什么都不打印。

我的最终目标是 运行 这段代码可以在任何 Python 的机器上运行,无论根 demo/ 文件夹在系统中的什么位置。

试试这个:

import os
somefile_path = os.path.basename(os.getcwd()) + 'module2\' + 'somefile.txt'

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

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

的完整路径