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

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

本文详细解析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 相关产品和应用

全部下载

专题列表