Python中文件夹py文件相互引用方式

季宁
季宁
发布时间:2026-10-12| 2人浏览过
原创

本文详细解析Python中同级及跨文件夹文件的相互调用方法。涵盖直接import的使用、非同级目录下的上下级调用策略,以及利用sys.path.append配置搜索路径的技巧。重点说明同名文件就近引入原则及跨文件夹from...import语法,帮助开发者解决模块化开发中的引用问题。

前言

基于Java、C#和JS等其他语言的学习经验,上手Python相对容易,因为编程思想具有共通性,底层逻辑与C语言也有相似之处。

在编写Python代码时,优先考虑模块化设计,因为模块化有助于提高代码复用率,封装好的功能可以直接调用,简化开发流程。

此前已解决VSCode中打印文件名和行号的问题,本文旨在进一步解决Python文件之间的相互调用难题。

Python文件相互调用

每个文件中均包含打印语句以验证调用结果。

print('我是Floder1的model1文件')

主函数

print('我是主函数')

文件路径

-Floder1:
	-model1.py
	-model2.py
-Floder2:
	-model3.py
	-model4.py
Main.py(主函数)
model5.py

情况一:同级文件

对于同级目录下的文件,直接使用import语句进行导入即可。

import model5
print('我是主函数')

打印结果

主函数旁的model5 我是主函数

情况二:非同级文件

上层调用下层

同样可以直接通过import语句进行调用。

import Floder1.model1
print('我是主函数')

打印结果

我是Floder1的model1文件 我是主函数

下层调用上层

import sys
# 将上级目录添加到文件路径中
sys.path.append('.')
import model5
print('我是Floder1的model1文件')

打印结果

主函数旁的model5 我是Floder1的model1文件

Tips: sys.path.append(‘.’)中是一个点还是两个点,目前尚不明确。网上常见建议为append(两个点),但经测试无效,实际有效的是一个点。

sys.path.append(‘.’)详细测试

测试在引入其他文件时的具体表现。

import sys
# 将上级目录添加到文件路径中
sys.path.append('.')
import model5
import Main
import model2
print('我是Floder1的model1文件')

测试成功,在append之后引用同文件夹的文件,

同名测试

打印结果

Floder1里面的model5 我是主函数

测试结果表明,系统会就近引入文件。

引入结论

sys.path.append(‘.’)的作用相当于添加了查找路径,系统会在多个文件夹中进行搜索;若存在同名文件,则优先选择最近的那个。

跨文件夹调用

import sys
# 将上级目录添加到文件路径中
sys.path.append('.')
from Floder2 import model3
print('我是Floder1的model1文件')

测试结果

我是Floder2的model3文件 我是Floder1的model1文件

总结

  • 同级引入。import model
  • 下级引入 from path import model或者import path.model
  • 上级引入 sys.path.append('path ') 添加搜索路径,如果有同名文件则找到最近的文件

以上为个人经验,希望能给大家一个参考,也希望大家多多支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。