如何将其他python项目的函数调用到存储在同一目录中的另一个项目中?

时间:2018-01-23 13:49:37

标签: python pycharm

我有10个不同的python项目存储在一个文件夹中(F:\ Python_Code ...)。我想将10个不同项目中的用户定义函数调用到最后一个项目(Say Project11),通过运行Project11,我的所有10个项目都应该逐个运行。

我尝试了多种方式,如os.path()和project1导入功能等,但没有人工作。我读到了PYTHONPATH的变化,但我仍然无法做到这一点。我正在使用PyCharm。任何人都可以帮我解决问题吗?

2 个答案:

答案 0 :(得分:1)

索尼斯密特! 你的解决方案并不是那么遥远。 首先,您必须使用以下内容导入整个文件:

from . import filename

或只是

import filename

如果文件与主文件位于同一目录中。 然后你可以用这个文件调用一个函数:

filename.functionname(arg1, arg2, ...)

我希望,它适合你! 〜ostue

答案 1 :(得分:1)

引用用于导入包的上层目录不是一个好主意。

如果您确定自己在做什么,可以使用 os.chdir(path_to_dir_that_can_access_all_your_modules)更改工作目录。

如果您需要灵活地以动态方式导入lib,请尝试使用importlib.import_module('module_name')。

例:         import os,importlib

    def import_module(base_path, module_path):
        try:
            backup_wd = os.getcwd() # backup original working directory
            os.chdir(base_path) # change directory
            return importlib.import_module(module_path) # import and return your module
        except:
            # Handle problems
            ...
        finally:
            os.chdir(backup) # go back to original directory in any case

    project10_module = import_module('F:\Python_Code', 'project10.utils.yourmodule')
    module_instance = project10_module(args)