其实看提示也可以看出来编码格式不对造成的,因为中文是utf-8格式编码的,正常创建的txt不是这个编码格式所以遇到中文会报错。
这里需要导入一个模块来做就行了。
导入这个模块后,用这个模块里的open函数就可以自己设置编码格式了。
导出点坐标啊这些我不爱用txt格式。所以演示一个csv格式的。txt一样的。(PS:我这个程序不够健壮,最好用到try语句里。演示就随意了)
- #coding=utf-8
- import codecs
- def main():
- pts = rs.GetObjects("选择要导出坐标的点",1)
- if not pts:return
- new_pts = rs.coerce3dpointlist(pts)
- txt = codecs.open("/Users/1/Desktop/pts.csv","w","utf-8")
- for i,pt in enumerate(new_pts):
- txt.write("点%i,%.4f,%.4f,%.4f \n"%(i,pt.X,pt.Y,pt.Z))
- txt.close()
- if __name__=="__main__":
- main()
复制代码
|