开发者

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

开发者 https://www.devze.com 2023-11-19 10:11 出处:网络 作者: 龙中舞王
目录前言python文件相互调用情况一:同级文件情况二:非同级文件上层调用下层下层调用上层跨文件夹调用总结前言
目录
  • 前言
  • python文件相互调用
    • 情况一:同级文件
    • 情况二:非同级文件
      • 上层调用下层
      • 下层调用上层
      • 跨文件夹调用
  • 总结

    前言

    我之前学过一些别的语言,例如Java,C#,js。所以我上手python还是挺快的,毕竟语言一通百通。基本上都和C语言差不多。

    我写python优先考虑的是如何模块化地写程序,因为模块化以后好复用,把封装好的代码自己用就行了。

    之前我解决了vscode如何打印文件名和行号的文件,现在解决python相互调用的问题。

    Python文件相互调用

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

    每个文件都有打印语句

    print('我是Floder1的model1文件')

    主函数

    print('我是主函数')

    文件路径

    -Flodephpr1:
    	-model1.py
    	-model2.py
    -Floder2:
    	-model3.py
    	-model4.py
    Main.py(主函数)
    model5.py

    情况一:同级文件

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

    直接import就行了

    import model5
    print('我是主函数')

    打印结果

    主函数旁的model5

    我是主函数

    情况二:非同级文件

    上层调用下层

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

    也是直接调用

    import Floder1.model1
    print('我是主函数')

    打印结果

    我是Floder1的model1文件

    我是主函数

    下层调用上层

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

    import sys
    # 将上级目录添加到文件路径中
    sys.path.append('.')
    import model5
    print('我是Floder1的model1文件')

    打印结果

    主函数旁的model5

    我是Floder1的model1文件

    Tips:sys.path.append(‘.’)是一个点还是两个点,我不清楚。我看网上是append(两个点),我测试了一下不行,得一个点

    sys.path.append(&lsq编程客栈uo;.’)详细测试

    我测试一下如果在引入别的文件会如何

    import sys
    # 将上级目录添加到文件路径中
    sys.path.append('.')
    import model5
    import Main
    import model2
    print('我是Floder1的model1文件')

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

    测试成功,在append之后引用同文件夹的文件,

    同名测试

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

    打印结果

    Floder1里面的model5

    我是主函数

    测试结果是就近引入。

    引入结论

    sys.path.append(‘.’)这句话相当于添加了查找的路径,在多个文件夹中查android找,如果有同名文件,则选择最近的那个

    跨文件夹调用

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

    import sys
    # 将上级目录添加到文件路径中QYNwCTseU
    sys.path.append('.'android)
    from Floder2 import model3
    print('我是Floder1的model1文件')

    测试结果

    我是Floder2的model3文件

    我是Floder1的model1文件

    总结

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

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号