我有一个LCP_02.py
带if语句的脚本:
if __name__ == "__testcase__" or __name__ == "__main__":
ask_costsurfacepath_path()
ask_outputpath_path()
CostSurfacefn = config.costsurfacepath
startCoord = (config.startX,config.startY)
stopCoord = (config.stopX,config.stopY)
outputPathfn = config.outputpath
main(CostSurfacefn,outputPathfn,startCoord,stopCoord)
当我testcase.py
在外壳中运行(如下)时,它不运行LCP_02
脚本:
import config
import LCP_02
if __name__ == "__main__":
config.startX = 356254.432
config.startY = 5325191.299
config.stopX = 346200.101
config.stopY = 5301688.499
LCP_02
其中的所有功能LCP_02
均具有打印语句(以视觉形式)。但是在运行时testcase.py
,它们不会被打印。程序启动,等待大约2秒钟,然后>>>
在外壳中显示。
它不起作用有两个原因:
您已导入LCP_02
,因此该__name__
模块中的值设置为'LCP_02'
,而不是'__main__'
或'__testcase__'
。该名称永远不会基于导入的模块。
只引用LCP_02
一行就不会“调用”该模块。如果受保护的代码要运行,那么在导入时就可以这样做。
使用一个函数LCP_02
代替:
def run_test():
ask_costsurfacepath_path()
ask_outputpath_path()
CostSurfacefn = config.costsurfacepath
startCoord = (config.startX,config.startY)
stopCoord = (config.stopX,config.stopY)
outputPathfn = config.outputpath
main(CostSurfacefn,outputPathfn,startCoord,stopCoord)
if __name__ == "__main__":
run_test()
并从您的testcase.py
模块中调用该函数:
LCP_02.run_test()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句