zoukankan      html  css  js  c++  java
  • python全栈脱产第16天------模块循环导入问题、区分python文件类型的途径、文件的搜索路径、软件开发的目录规范

    一、模块的循环导入问题

      就是执行文件中被导入文件同时又导入了另一个文件,而调用的变量在调用时又没有被定义

      解决方案一:把循环导入的语句放到名字定义的后面

      解决方案二:将循环导入语句放到函数中去

    二、区分python文件的两种途径

      当文件被执行时:__name__=='__main__'

      当文件被导入时:__name__=='模块名'

    三、文件的搜索路径

      优先级:1.内存中加载过的

          2.内置模块

          3.sys.path(第一个值是当前执行文件所在的文件夹,且所有被导入的模块参照环境变量sys.path都是以执行文件为准的)

            方案一:import sys

                sys.path.append(r'文件路径')

                import 被导入文件名

            方案二:from 文件名 import 被导入文件名

      绝对导入:以执行文件的sys.path为起始点开始导入,称之为绝对导入

          优点:执行文件与被导入文件的模块中都可以使用

          缺点:所有导入都是以sys.path为起始点,导入麻烦

      相对导入:参照当前所在文件的文件夹为起始点开始查找,称之为相对导入

          符号:.表示当前所在的文件夹,..表示上一级文件夹,...表示上上级文件夹

          优点:导入更简单

          缺点:只能在被导入的模块中使用,不能再执行文件中使用

    四、软件开发的目录规范

      程序

      |

      ----bin

      |  |

      |  ----start.py

      |

      ----conf

      |  |

      |  ----setting.py

      |

      ----core

      |  |

      |  ----src.py

      |    |

      |    ----def register():

      |        print(‘注册’)

      |      def login():

      |        print('登录')

      |     def shopping():

      |        print('购物')

      |     def pay():

      |        print('支付')

      |     def transfer():

      |        print('转账')

      |     def run():

      |        print('运行')

      |

      ----db

      |  |

      |  ----db.txt

      |

      ----lib

      |  |

      |  ----common.py

      |

      ----log

      |  |

      |  ----transcation.log

      | 

      Readme

  • 相关阅读:
    JS动态添加事件
    Asp.Net验证控件浅析
    word 文档如何加密
    scp 自动带密码参数复制文件到主机
    Zabbix监控Dell服务器相关硬件资源
    Zabbix的history相关数据表数据太大,执行表分区操作过程
    mysql日常操作
    linux下利用tcpdump抓包工具排查nginx获取客户端真实IP实例
    解决ssh登录很慢的问题以及jumpserver登录主机出现:Authentication timeout
    keepalived启动后报错:(VI_1): received an invalid passwd!的解决办法
  • 原文地址:https://www.cnblogs.com/zhouyi0316/p/9445890.html
Copyright © 2011-2022 走看看