无法从当前工作目录之外导入函数

神秘客

我目前在导入一些位于 python 文件中的函数时遇到了困难,这些函数位于主 Flask 应用程序脚本的工作目录的父目录中。这是结构的样子

project_folder
- public
--app.py
-scripts.py

这是一个复制代码app.py

def some_function():
    from scripts import func_one, func_two
    func_one()
    func_two()
    print('done')


if __name__ == "__main__":
    some_function()

scripts.py 包含这样的功能:

def func_one():
    print('function one successfully imported')


def func_two():
    print('function two successfully imported')

在 my 中导入这些函数的 pythonic 方式是app.py什么?

亚历克

在它前面加上一个点,以便它搜索当前目录(project_folder)而不是你的 python 路径:

from .scripts import func_one, func_two

PEP 328中描述了相对导入的详细信息

编辑:我假设你正在处理一个包。考虑添加一个__init__.py文件。

无论如何,您可以通过更改系统路径在 python 中导入任何内容:

import sys
sys.path.append("/path/to/directory")
from x import y

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章