zoukankan      html  css  js  c++  java
  • 惊艳发现VS工具python项目Search Paths的应用

      之前,在没有发现VS工具python项目Search Paths的应用时,举个例子:假如项目的文件目录如下:

     

     

    maintest/maintest.py想要使用common/tools.py文件时,不得不在maintest.py中的代码添加这样的代码:

    import sys
    import os
    from sys import path
    
    parentdir = os.path.join( os.path.dirname(os.path.dirname(__file__)))
    
    path.append(parentdir + "common") # 将tools所在的目录加入path
    import tools
    print path
    print tools.a

          这样的话,代码就不够简洁了。

          或者使用模块化的思想,将common做成模块,放到maintest/目录下,maintest.py文件导入common.tools模块。项目文件结构将会变成如下:

    maintest

    --maintest.py

    --common

    ----tools.py

    ----__init__.py

         这样的项目文件结构看起来混乱(既不够人性化)

       再或者使用xxx.pth追加需要导入模块(文件)的目录,但是这样的话,你团队的小伙伴不知情执行脚本时将会报错……必须得在相同目录下添加相同的.pth

         现在,只要把需要导入的文件的上级文件夹加入到Search Paths

     

         那么,现在maintest/maintest.py想要使用common/tools.py直接导入模块即可,里面的机制有时间大家可以深究一下。

    import sys
    import os
    from sys import path
    
    parentdir = os.path.join( os.path.dirname(os.path.dirname(__file__))) 
    
    #path.append(parentdir + "common") # 将tools所在的目录加入path
    import tools
    print path
    print tools.a
  • 相关阅读:
    java不解压tar.gz读取包里面的某个文件内容或读取远程zip包中的文件内容
    java调用hadoop api
    httpclient读取https请求的数据
    使用svgo压缩图片
    重试机制
    java利用zip解压slpk文件
    mysql查询时特殊字符转译
    *.vue文件的template标签内使用form标签
    canvas.addEventListener()
    addEventListener(event, function, useCapture) 简记
  • 原文地址:https://www.cnblogs.com/yicaifeitian/p/4700709.html
Copyright © 2011-2022 走看看