我有一个脚本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)
当我在 shell 中运行 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
中的所有函数都具有 print 语句(作为视觉对象)。但是当运行testcase.py
时,它们不会被打印出来。程序启动,等待大约 2 秒钟,然后在 shell 中显示>>>
。
它不起作用有两个原因:
-
您导入了
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()