度换算成度分秒的Python操作方法,成度python,度换算成度分秒的Pyth
度换算成度分秒的Python操作方法,成度python,度换算成度分秒的Pyth
度换算成度分秒的Python操作方法,gis里进行单位转换
#!/usr/bin/env python# -*- encoding:utf-8 -*-"""输入文件格式:107.0381,29.1470;107.0429,29.1880;107.0654,29.2076;107.1492,29.1774;107.1767,29.1532;107.1518,29.1260;107.0822,29.1201;107.0743,29.1248;107.0566,29.1338;107.0381,29.1470;文件最后没有空行。不要求度形式的坐标小数点后面一定是四位。python num_convert.py [-o outputfilename] inputfilenamepython num_convert.py -v 打印版本信息python num_convert.py -h 打印帮助信息"""import sysimport getoptdef datafromfile(f): ret = [] for line in f: if line: line = line[:-2] num1,num2 = line.split(r',') ret1,ret2 = conv(num1),conv(num2) ret.append([ret1,ret2]) else: ret='\n' return retdef conv(num): ''' bef0: 小数点前面的值 aft012: 转换后小数点后面第一二位数 aft034: 转换后小数点后面第三四伴数 ''' num = eval(num) bef0, aft0 = int(num), num-int(num) aft012, aft034_t = int(aft0*60), aft0*60-int(aft0*60) aft034 = int(round(aft034_t*60)) if aft034 < 10: aft034 = '0'+str(aft034) elif aft034 == 60: aft034='00' aft012 += 1 elif aft034 > 60: print "error:%s"%aft034 if aft012<10:aft012 = '0' + str(aft012) sys.stderr.write("bef0:%s,aft012:%s,aft034:%s;"%(bef0, aft012, aft034)) return "%s.%s%s"%(bef0, aft012, aft034)def main(): try: opts, args = getopt.getopt(sys.argv[1:],"ho:v") except getopt.GetoptError, err: print str(err) sys.exit(2) version = False help_ = False output_t = '' for o,a in opts: if o == '-v': version = True elif o == '-h': help_ = True elif o == '-o': output_t = a else: assert False, "unhandled option" if help_: sys.stdout.write('''#-------www.iplaypy.com------------num_convert.pybasic usage:python num_convert.py [-o outputfilename] inputfilenamepython num_convert.py -v print version informationpython num_convert.py -h print this help. ''') sys.exit(0) if version: sys.stdout.write("version 0.1") sys.exit(0) if len(args) == 0: sys.stderr.write("NEED INPUT FILE!!!") sys.exit(2) else: file_in = args[0] if len(output_t) == 0: output = sys.stderr else: try: output = open(output966_t,'w') except: raise with open(file_in,'r') as f: datas = datafromfile(f) #sys.stderr.write(str(datas)) for data in datas: packed_data = ','.join(data)+';\n' output.write(packed_data)if __name__ == "__main__": main()
编橙之家文章,
相关内容
- 判断某个整数是否在二维数组中的python方法,二维数组
- Python模拟实现单链表源码示例,python单链,Python模拟实现
- 读取tomcat日志并打印日期的正则表达式,tomcat正则表达
- Python SAX处理xml操作方法源码,pythonsax,Python SAX处理
- PHP与Python间Socket通信代码片段,,PHP与Python间S
- Python工程图绘制编程函数基本应用源码,python源码,py
- 下载豆瓣小组的帖子并只看楼主的Python实现,豆瓣pyt
- 自动登陆Discuz论坛的通用python代码源码片段,,自动登陆
- python实现mssql里点数据集到AutoCAD的文本转换,,python实现
- python计算万年内的对称日代码,python计算万年,求对称日
评论关闭