python - python中导入文件的结构问题
问题描述
所以我看到这些帖子不知何故让我了解了如何构建我的文件。(从不同的文件夹导入文件)但不知何故,我的结构有更多的连接,我不知道如何清理(组织它们)。这是我的文件夹结构简介:
Project
├── main.py (imports u1)
├── _init_.py
├── Functions1
├── _init_.py
├───u1.py (imports u2, gets data in subfolder data for u1)
├───Data for u1
| └── csv/xlsx files
├───u2.py ( gets data in subfolder data for u2)
├───Data for u2
| └── picture files
├───Data for u2
└── other files
├─── main2.py ( imports u1)
├── Functions2
├── _init_.py
├───u3.py
├───Data for u3
| └── csv/xlsx files
main.py
当我尝试通过导入 u1 时from Functions1 import u1
出现错误module u2 not found
。我试过sys.path.insert()
了,但是又出现了另一个错误 No such file or directory:(main's path +Data for u1)
。现在我知道要解决这个问题,我只需要更正路径(主路径+Function1+u1 的数据),但是我的路径将不再是相对的,我需要在复制目录时不时切换。当我从 main 导入 u1 时,我该如何做到这一点,u1 获取文件的路径来自 u1 的路径(而不是来自 main)?或者以某种方式使结构干净,即使我使用 u1 (from main2.py
) 导入仍然正确?
我os.path.dirname(os.path.abspath("__file__"))
在u1中使用
编辑:添加了初始化文件。我现在唯一的主要问题是如何使路径相对于文件。
我的 u1 有pd.read_csv(os.path.dirname(os.path.abspath("__file__"))+Data for u1+file)
,但是当它在 main.py 中导入时,使用的路径在 main 中(不在 u1 中)
解决方案
在每个模块级别,您需要__ini__.py
每个https://stackoverflow.com/a/448279/14306518的文件
推荐阅读
- javascript - p5.js:在特定的 div 上渲染画布并使其不阻塞任何东西(在光标后发出声音)
- android - 如何让 Ionic 5 AddMob-Free 广告在移动设备上运行?
- javascript - Express 和 MongoDB,使用 $text 和 $search 时 collection.find 中的转义字符问题
- postman - Ubuntu - sudo snap install postman 不工作
- r - 合并 2 个 R 数据帧,保持第二个数据帧的匹配行和第一个数据帧不匹配
- python - 如何确定簇对应的颜色?
- r - 在R中用不同的重复数字命名列的函数
- c - C套接字编程:套接字连接,但不能通过套接字写入服务器
- flutter - 如何使显示响应颤动
- r - 在闪亮的应用程序中隔离数据表排序列