马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 晨曦CAD 于 2021-4-7 00:10 编辑
LisPy内置函数创建py临时脚本文件,用于写入python语句
;返回值 脚本文件路径名称
(HG::PY::CREATE )
 - (setq fi(HG::PY::CREATE))
返回值:"C:\\Users\\ASUS\\AppData\\Local\\Temp\\LisPy001_20210406.py"
;写一行PYThon语句
;pytempfilename py脚本文件路径,可由(HG::PY::CREATE)创建
;pystring python语句
(HG::PY::WRITELINE pytempfilename pystring)
- (HG::PY::WRITELINE (HG::PY::CREATE) "print ("hello world!")" )
复制代码 返回值:无返回值,临时文件中写入print (\hello world!")
;写很多行PYthon语句
;pystringlst python语句List(按行分割的字符串list),例如 ("print (\"hello\")" "print (\"world!\")")
;!!!!字符串应注意PYTHON格式要求,代码前面自行预留缩进空格
;!!!!默认基本缩进为4个空格
(HG::PY::WRITELIST pytempfilename pystringlst)
 - (setq pystringlst (list "print ("hello")" "print ("world!")"))
- (HG::PY::WRITELINE (HG::PY::CREATE) pystringlst )
返回值:无返回值,临时文件中写入print ("hello") print ("world!")
;替代 print语句
;将console文本输出至log文件
;输出python console信息或返回值请用此函数替代Print
;logstring要输出的字符
;logstring同意需自行预留缩进空格,基本缩进为4个空格
;para-p logstring是否为python变量 0普通字符串 1字符串变量 2列表字符串变量 3列表字符串变量换行输出
;示例(HG::PY::WRITELOG pytempfilename "hello log!" 0)
(HG::PY::WRITELOG pytempfilename logstring para-p)
- (HG::PY::WRITELOG pytempfilename "hello log!" 0)
复制代码 返回值:log文件路径
在文件路径中写入输出Log文件语句
;运行单行Python语句,有返回结果
(HG::PY::RUN pystring)
- (HG::PY::RUN "print(8**2)")
复制代码 返回值:("64")
此python语句含义,8的平方值
;运行Python文件,无返回值
(HG::PY::RUNFILE pyfilename)
- (HG::PY::RUNFILE "C:\\LisPyDEMO2.py")
复制代码 LisPyDemo2.py代码如下:
- import plotbar
- import matplotlib.pyplot as plt
- def main():
- x=['1','2','3','4']
- y=[4254,3563,567,6744]
- a,b=plotbar.bar(x,y)
- main()
复制代码 输出结果如下:
;运行Python文件,有返回值
(HG::PY::RUNFILE2 pyfilename)
- (HG::PY::RUNFILE2 "C:\\LisPyDEMO1.py")
复制代码 LisPyDemo1.py代码如下:
返回值:("81")
测试环境:Windows 10 + autocad2016 + python 3.6
测试需要python库: 词法分析工具LAC
测试功能:深度学习实现中文分词
 - ;自然语言处理-中文分词
- ;paddle平台LAC
- ;需安装lac库
- (setq fi(HG::PY::CREATE))
- (setq pystringlst(list
- "# coding:cp936" ;;由于LISP语言特性,这里编码不是utf8
- "from LAC import LAC"
- ""
- "# 装载分词模型"
- "lac = LAC(mode='seg')"
- "# 单个样本输入,输入为Unicode编码的字符串"
- "text = u"LAC是个优秀的分词工具,LisPy中文分词案例测试""
- "seg_result = lac.run(text)"
- ))
- (HG::PY::WRITELIST fi pystringlst)
- (setq foo(HG::PY::WRITELOG fi "seg_result" 3))
- (HG::PY::RUNFILE2 fi)
程序输入:"LAC是个优秀的分词工具,LisPy中文分词案例测试"
结果输出: "LAC" "是" "个" "优秀" "的" "分词" "工具" "," "LisPy" "中文" "分词" "案例" "测试"
通过加载LisPy.vlx 就可以使用Python丰富的资源了。
|