Python --- 【已解决】rhinopython 不能向外部txt写出中文,怎么破啊,各位老师

[复制链接]
跳转到指定楼层
本帖最后由 筑梦NARUTO 于 2016-7-5 10:42 编辑

在python2.7/3.5IDLE中都可以运行,但在rhino5.0sr13.0中不能运行,求各位老师帮帮忙啊?

Desktop.rar

354 Bytes, 下载次数: 45

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享
关于大陆地区Rhino原厂培训中心
筑梦NARUTO 发表于 2016-7-5 10:28:03
2
其实看提示也可以看出来编码格式不对造成的,因为中文是utf-8格式编码的,正常创建的txt不是这个编码格式所以遇到中文会报错。
这里需要导入一个模块来做就行了。
  1. import codecs
复制代码
导入这个模块后,用这个模块里的open函数就可以自己设置编码格式了。
导出点坐标啊这些我不爱用txt格式。所以演示一个csv格式的。txt一样的。(PS:我这个程序不够健壮,最好用到try语句里。演示就随意了)
  1. #coding=utf-8
  2. import codecs



  3. def main():
  4.     pts = rs.GetObjects("选择要导出坐标的点",1)
  5.     if not pts:return
  6.     new_pts = rs.coerce3dpointlist(pts)
  7.     txt = codecs.open("/Users/1/Desktop/pts.csv","w","utf-8")
  8.     for i,pt in enumerate(new_pts):
  9.         txt.write("点%i,%.4f,%.4f,%.4f \n"%(i,pt.X,pt.Y,pt.Z))
  10.     txt.close()

  11. if __name__=="__main__":
  12.     main()
复制代码

您需要登录后才可以回帖 登录 | 注册成为会员

本版积分规则