python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python文件夹py文件相互引用

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

作者:龙中舞王

这篇文章主要介绍了python中文件夹py文件相互引用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

前言

我之前学过一些别的语言,例如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 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文件

总结

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

您可能感兴趣的文章:
阅读全文