之前,在没有发现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