从子文件夹导入Python

Python imports from subfolders(从子文件夹导入Python)

本文介绍了从子文件夹导入Python的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试对每个学生单独文件夹中的一些Python提交内容进行评分。为此,有一个我想要运行的函数,比如f()。我明白,如果我的当前路径与文件所在的路径相同,我可以简单地执行

import filename
filename.f()

然而,有没有更好的方法?例如,假设目录结构如下:

main.py
student/run_this.py

我知道,如果学生文件夹中有"__init__.py"文件,我只需键入

import student.run_this

但是,如果没有该文件,它将无法工作。

我发现的一些类似问题

  • Import module from subfolder
  • How to do relative imports in Python?
  • http://www.daniweb.com/software-development/python/threads/192000/import-from-a-subdirectory-of-a-directory-on-pythonpath

但这些答案都不是特别令人满意。

推荐答案

在文件夹student内创建__init__.py模块,该模块应包含

from . import *

然后,您可以将学生文件夹中的任何模块调用到其父文件夹模块,作为

import student.module.py

如果您发布了您面临的任何其他错误,我们可以提供进一步帮助。

这篇关于从子文件夹导入Python的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:从子文件夹导入Python