Python中文件夹py文件相互引用方式
本文详细解析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 ') 添加搜索路径,如果有同名文件则找到最近的文件
以上为个人经验,希望能给大家一个参考,也希望大家多多支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













