我想在发生某种情况时打印行号(来自SAS程序文件)。如何检索该值并打印出来?
我想做这样的事情:
File "B.py", line 1, in <module>
from folder1 import A
ImportError: No module named folder1
答案 0 :(得分:1)
好的,这是一个想法。首先使用所有断言编写.sas文件。并且每个断言都是一个宏调用,它具有行号的占位符。所以mycode.sas看起来像:
data want;
set have;
%assert( (x=y), line=_linenumber_)
%assert( (a<b), line=_linenumber_)
run;
完成后,您编写另一个读取mycode.sas的SAS程序并编写MyCodeWithLineNumbers.sas,如下所示:
data want;
set have;
%assert( (x=y), line=3)
%assert( (a<b), line=4)
run;
然后提交MyCodeWithLineNumbers.sas。编写读取.sas文件的程序,计算行数并用适当的值替换_linenumber_
应该不难。