标签归档:脚本

Simbad座标查询脚本

近日为一个项目做天体证认,要根据候选天体的座标查找临近天体。Simbad支持座标文件查询,但因为目标很多,返回的页面内容太多,不便查看;但可以提交脚本来定制输出格式,但是脚本查询的返回结果中不区分座标来源,也就是说所有座标的全部查询结果都顺次输入,完全不做区分也没有标记,这样对应关系就全乱了。在问过CDS的Marc Wenger之后,得知系统可以用echodata来人工插入注释。但我有几百个目标写起来太麻烦了,于是写了段python脚本,直接从文件中读取座标,转换为链接格式提交查询,并将结果返回终端,按指定格式写入文件保存,一键完成。
继续阅读

Python中文排序

Python比较字符串大小时,根据的是ord函数得到的编码值。基于它的排序函数sort可以很容易为数字和英文字母排序,因为它们在编码表中就是顺序排列的。

但要很处理中文就没那么容易了。中文通常有拼音和笔画两种排序方式,在最常用中文标准字符集GB2312中,3755个一级中文汉字是按照拼音序进行编码的,而3008个二级汉字则是按部首笔画排列,

出现这样的结果是因为‘曙’和‘曾’都是常用字,而‘鲑’和‘怡’都是次常用字,但无论从笔画还是拼音来看,这两对顺序都应该反过来。后来扩充的GBK和GB18030编码为了向下兼容,都没有更改之前的汉字顺序,于是sort之后的次序就很乱了。
继续阅读

python脚本换桌面

原来何勃亮发过一个gnome下自动更新每日天图(APOD)作为桌面的脚本,挺有意思的,我这里发一个Python的,可以看作是免费软件Pic-a-PODPicture of the Day的替代品,在2.6下测试通过,需要安装PIL库,可以自行选择天文每日一图(APOD)、地理每日一图(EPOD)、或者美国国家地理每日一图(NGPOD),点此下载

这是由seasons的版本修改而来,他那里漏了一个setWallpaperFromBMP函数,还好在他的 javaEye 日志中找到了,有人是用win32gui实现,不过我测试没有成功。

源码如下,方便引擎收录:)
继续阅读

由度规算曲率标量

上周被某人说成是“不务正业”,这次就讲讲本行吧(忽悠新手,外行可以无视,同行尽管鄙视)。

当代宇宙学的理论基石是在Robertson-Walker度规下由Einstein场方程推导出的Fridemman方程,现在的绝大部分工作都是以此为起点,而且也得到了可靠的观测支持。从给定度规得出场方程的具体形式是广义相对论的基础内容,但是由于方法繁复,教科书中都不会给出具体的计算过程,而结果又不是一望便知的,学到这里谁都少不了课下的一番推导验证。我当年偷懒跳过,现在却发现自己怎么都算不对了……

怅惘之际在论文库里发现2000年《上海天文台年刊》第21期中有一篇《利用Mathematica软件表示真空Einstein场方程》的文章,但又不想为此学门新语言,便用Matlab仿写了一个,代码如下:

继续阅读