python - 如何在 Python 的不同机器上找到相同的文件夹?
问题描述
我有以下文件夹结构:
demo
├── module1
│ └── demo.py
├── module2
└── somefile.txt
我希望无论从哪里somefile.txt
启动都能找到。demo.py
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.py
只有当我在demo/
文件夹中启动时才能找到它。如果我demo/module1
从那时开始启动它,它不会打印任何内容。
我的最终目标是能够在任何使用 Python 的机器上运行这段代码,无论根demo/
文件夹放在系统中的哪个位置。
解决方案
获取运行代码正确位置的流行方法
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
推荐阅读
- php - 是否值得缓存 WordPress 特定的查询?
- c# - 当我调用 Async 方法时,我应该使用什么返回类型来指示成功?
- javascript - antdesign 滑块第二个标签未显示
- laravel - 在 Laravel 5.6 中重置密码链接
- javascript - 拖放上传 - 从输入中删除对象
- c# - 找到 BarcodeScanner 但无法连接 Windows.Devices.PointOfService
- android - 来自 Activity 的命令 ViewPager 按钮 OnClick
- python - 使用排序规则创建索引
- spring-boot - 当从 derby 移动到 mysql 基础时,spring-boot 应用程序中存在配置错误?
- android - 应用程序被杀死后片段仍然存在(Android)