写个python脚本,处理bitmap.fnt文件,将信息存放入.csv文件中
2016-05-08 13:51
603 查看
file_util.py
define.py
fnt_inform.py
#!/usr/bin/python # encoding:utf-8 r''' 处理文件 ''' import os __author__ = 'andrew' def list_files_with_filter(root, suffix): hint="list_files_with_filter" for f in os.listdir(root): if (f.endswith(suffix)): path = os.sep.join((root, f)) yield path
define.py
#!/usr/bin/python # encoding:utf-8 import os cur=os.getcwd() g_xcf_root=os.sep.join((cur,"..","dy_cike_xcf")) g_xcf_assets=os.sep.join((g_xcf_root,"assets")) g_xcf_config=os.sep.join((g_xcf_assets,"config")) g_xcf_cocos=os.sep.join((g_xcf_assets,"cocostudio")) g_xcf_skeleton=os.sep.join((g_xcf_assets,"skeleton")) g_xcf_font=os.sep.join((g_xcf_assets,"font")) g_working_root=os.sep.join((cur,"android","assets")) g_working_config=os.sep.join((g_working_root,"config")) g_working_skeleton=os.sep.join((g_working_root,"skeleton")) g_working_font=os.sep.join((g_working_root,"font"))
fnt_inform.py
#!/usr/bin/python # encoding:utf-8 r""" 分析assets/font/*.fnt各个字体信息, 将size等信息提取出来,存入assets/config/fnt_inform_config_r2.csv中 """ import csv import os import define import file_util def fetch_fnt_inform(): config_path = os.sep.join((define.g_xcf_config, "fnt_inform_config_r2.csv")) out = csv.writer(open(config_path, "wb+")) #一定要以二进制b的格式打开,否则两行数据间会插入空行 key_name = "fntName" key_size = "size" key_line_height = "lineHeight" out.writerow([key_name, key_size, key_line_height]) out.writerow([key_name, key_size, key_line_height]) fnt_paths = file_util.list_files_with_filter(define.g_xcf_font, ".fnt") for path in fnt_paths: row_dic = {key_name: "", key_size: "", key_line_height: ""} line_count = 0 fnt_file = open(path, "r") for line in fnt_file.readlines(100): for one_group in line.split(): if (len(one_group) > 0): kv=one_group.split("=") if (len(kv) == 2): key=kv[0] value=kv[1] if row_dic.has_key(key): row_dic[key]=value line_count += 1 if (line_count > 3): break csv_row=[path.split(os.sep)[-1],row_dic[key_size],row_dic[key_line_height]] print(csv_row) out.writerow(csv_row) if __name__ == "__main__": fetch_fnt_inform()
相关文章推荐
- 参考视频教学写的一个文件处理分割的脚本
- Python basic interview questions
- 简述Python中"_"的使用常识
- Python学习笔记:元组(tuple)有关内容
- Python 递归
- Python函数式编程
- 利用python yielding创建协程将异步编程同步化
- 关于Python编码问题的一些看法
- python 字典转对象
- Python语言串口的操作
- Python yield 使用浅析
- Python实例---接入笑话API+发送邮件+云主机crontab定期执行
- python(3)if中字符串的判断问题
- wxpython SizerItem的大小控制
- python re.compile(?P<name>)
- python的 os 和 shutil 模块
- ubuntu14下python导入第三方so文件的路径问题
- Vim for Python & Normal Plugins & Vundle
- python爬虫抓取51cto博客大牛的文章保存到MySQL数据库
- Python数据类型详解(三)元祖:tuple