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爬虫scrapy图书分类实例讲解

    python爬虫scrapy图书分类实例讲解

    在本篇内容里小编给大家整理的是一篇关于python爬虫scrapy图书分类实例讲解内容,需要的朋友们可以参考下。
    2020-11-11
  • Python编程使用matplotlib绘制动态圆锥曲线示例

    Python编程使用matplotlib绘制动态圆锥曲线示例

    这篇文章主要介绍了Python使用matplotlib绘制动态的圆锥曲线示例实现代码,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • python 文件读写操作示例源码解读

    python 文件读写操作示例源码解读

    这篇文章主要为大家介绍了python 文件读写操作示例源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Python制作CSDN免积分下载器

    Python制作CSDN免积分下载器

    本文给大家分享的是使用python实现的CSDN的免积分下载器,具体干嘛的,我相信你懂的~~~有需要的小伙伴自己来看看哈。
    2015-03-03
  • Python深度学习pytorch神经网络图像卷积运算详解

    Python深度学习pytorch神经网络图像卷积运算详解

    这篇文章主要介绍了Python深度学习关于pytorch神经网络图像卷积的运算示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-10-10
  • Python实现图像去雾效果的示例代码

    Python实现图像去雾效果的示例代码

    本文将利用《bringing old photos back to life》 的开源代码,并在此基础上进行修改,从而实现图像去雾的效果,感兴趣的小伙伴可以学习一下
    2022-02-02
  • 用Python编写简单的微博爬虫

    用Python编写简单的微博爬虫

    这篇文章主要介绍了如何利用Python编写一个简单的微博爬虫,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • Python Tornado批量上传图片并显示功能

    Python Tornado批量上传图片并显示功能

    Tornado龙卷风是一个开源的网络服务器框架,它是基于社交聚合网站FriendFeed的实时信息服务开发而来的。这篇文章主要介绍了Python Tornado批量上传图片并显示,需要的朋友可以参考下
    2020-03-03
  • matplotlib中legend位置调整解析

    matplotlib中legend位置调整解析

    这篇文章主要介绍了matplotlib中legend位置调整解析,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • python argparser的具体使用

    python argparser的具体使用

    这篇文章主要介绍了python argparser的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11

最新评论