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实现常见坐标系的相互转换

    WGS84坐标系、GCJ02坐标系、BD09坐标系和Web 墨卡托投影坐标系是我们常见的四个坐标系。这篇文章为大家整理了这四个坐标系之间相互转换的方法,需要的可以参考一下
    2023-02-02
  • Python深入浅出分析enum枚举类

    Python深入浅出分析enum枚举类

    在python中枚举是一种类(Enum,IntEnum),存放在enum模块中。枚举类型可以给一组标签赋予一组特定的值,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • python爬虫之BeautifulSoup 使用select方法详解

    python爬虫之BeautifulSoup 使用select方法详解

    本篇文章主要介绍了python爬虫之BeautifulSoup 使用select方法详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • 解决Django no such table: django_session的问题

    解决Django no such table: django_session的问题

    这篇文章主要介绍了解决Django no such table: django_session的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python3使用tkinter实现ui界面简单实例

    python3使用tkinter实现ui界面简单实例

    使用tkinter创建一个小窗口,布置2个按钮,一个btn关闭窗口,另一个btn用于切换执行传入的2个函数,简单的小代码,大家参考使用吧
    2014-01-01
  • Python通过tkinter实现百度搜索的示例代码

    Python通过tkinter实现百度搜索的示例代码

    这篇文章主要介绍了Python通过tkinter实现百度搜索的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • python不支持i++运算原理实例解析

    python不支持i++运算原理实例解析

    这篇文章主要为大家介绍了python不支持 i++运算原理实例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-02-02
  • python中的annotate函数使用

    python中的annotate函数使用

    这篇文章主要介绍了python中的annotate函数使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • python scrapy重复执行实现代码详解

    python scrapy重复执行实现代码详解

    这篇文章主要介绍了python scrapy重复执行实现代码详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python函数中定义参数的四种方式

    Python函数中定义参数的四种方式

    有些时候看到函数传参数的时候参数前面加一个星号*或者两个星号**,这是什么意思? 下面来总结下
    2014-11-11

最新评论