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

 更新时间:2023年08月17日 10:11:23   作者:龙中舞王  
这篇文章主要介绍了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文件

总结

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

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

相关文章

  • python创建文件备份的脚本

    python创建文件备份的脚本

    这篇文章主要介绍了python创建文件备份的脚本,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-09-09
  • keras自动编码器实现系列之卷积自动编码器操作

    keras自动编码器实现系列之卷积自动编码器操作

    这篇文章主要介绍了keras自动编码器实现系列之卷积自动编码器操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • 一文教你如何解决Python开发总是import出错的问题

    一文教你如何解决Python开发总是import出错的问题

    经常朋友碰到Python开发的过程中import包报错的问题,所以本文将和大家介绍一下可编辑安装(Editable Install)模式,可以轻松解决import出错的问题,感兴趣的可以了解下
    2025-05-05
  • python文件读取read及readlines两种方法使用详解

    python文件读取read及readlines两种方法使用详解

    这篇文章主要为大家介绍了python文件读取read及readlines两种方法的使用示例及区别详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • 查看keras的默认backend实现方式

    查看keras的默认backend实现方式

    这篇文章主要介绍了查看keras的默认backend实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python中matplotlib中文乱码解决办法

    Python中matplotlib中文乱码解决办法

    Matplotlib是Python的一个很好的绘图包,但是其本身并不支持中文(貌似其默认配置中没有中文字体),所以如果绘图中出现了中文,就会出现乱码
    2017-05-05
  • PyQt5使用pyqtgraph绘制波形图

    PyQt5使用pyqtgraph绘制波形图

    pyqtgraph是Python平台上一种功能强大的2D/3D绘图库,相当于matplotlib库,比它更强大。本文就来利用pyqtgraph实现绘制波形图,需要的可以参考一下
    2023-01-01
  • python使用tomorrow实现多线程的例子

    python使用tomorrow实现多线程的例子

    今天小编就为大家分享一篇python使用tomorrow实现多线程的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python-re中search()函数的用法详解(查找ip)

    Python-re中search()函数的用法详解(查找ip)

    这篇文章主要介绍了Python-re中search()函数的用法-----查找ip,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • matplotlib 范围选区(SpanSelector)的使用

    matplotlib 范围选区(SpanSelector)的使用

    这篇文章主要介绍了matplotlib 范围选区(SpanSelector)的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02

最新评论