我有10个不同的python项目存储在一个文件夹中(F:\ Python_Code ...)。我想将10个不同项目中的用户定义函数调用到最后一个项目(Say Project11),通过运行Project11,我的所有10个项目都应该逐个运行。
我尝试了多种方式,如os.path()和project1导入功能等,但没有人工作。我读到了PYTHONPATH的变化,但我仍然无法做到这一点。我正在使用PyCharm。任何人都可以帮我解决问题吗?
答案 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)