我有这个结构:
│
├ main.py
├ dir
| ├─ data.txt
| └─ other.py
other.py中的内容:
print(open('data.txt', 'utf-8').read())
我运行main.py
。它必须以dir/other.py
开始。
但是other.py
的作品需要data.txt
。有没有一种方法可以从other.py
开始main.py
,而不是编辑other.py
?
注意
用户必须能够正确手动启动other.py
答案 0 :(得分:1)
为此,您可以使用import关键字。您要做的就是在 dir 目录下创建__init__.py脚本,该脚本会将目录定义为库。然后,您可以在主脚本中使用导入其他文件。
建议使用以下代码段修改other.py脚本
if __name__ == '__main__':
// do stuff
否则,它将在每次导入时执行该库
这要简单得多。您只需使用 os.chdir(“ ./ dir”)来更改目录。之后,您可以运行简单的导入,脚本将被执行。
./dir/other.py:
print("Module starts")
print(open('data', 'r').read())
print("Module ends")
./main.py
print("Main start")
import os
os.chdir("./dir")
from others import other
print("Main end" )
答案 1 :(得分:0)
您可以在主文件中导入其他文件,例如from dir.other import *