写个python脚本,处理bitmap.fnt文件,将信息存放入.csv文件中

file_util.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()
时间: 2024-10-10 02:53:22

写个python脚本,处理bitmap.fnt文件,将信息存放入.csv文件中的相关文章

利用python脚本实现域名解析和归属地信息查询

一.前言 由于工作中有时要域名解析和获取相关IP归属地信息,所以写了该脚本,方便自己查询使用. 二.脚本内容 #!/usr/bin/env python #coding:utf-8 import dns.resolver import urllib import chardet import sys import re ip_list = [] query_domain = raw_input('Please input a domain: ') # 先查询是否有CNAME,如果有则通过CNAM

python脚本简单检测ip合法性并添加到白名单文件

一.功能说明 有时候项目需要通过ip地址来判定是否允许访问,通常通过一个白名单地址文件来存放这些允许放行的ip,但每次打开文件编辑比较麻烦,容易出错,也不知道是否添加过,故用python写了一个自动添加白名单的脚本. 二.脚本内容 #!/usr/bin/env python #coding:utf-8 #2017-06-09 ver:1.0 import sys white_list="white_list.txt" add_ip=sys.argv[1].strip() checkIp

Python脚本 - 查询磁盘的读写次数信息

测试系统为:Centos 6.7 Python版本为: 3.6.4 脚本功能:查看指定磁盘的读写及时间等相关信息 #!/usr/bin/env python3 from collections import namedtuple Disk = namedtuple('Disk','major_number minor_number device_name read_count read_merged_count read_sections time_spent_reading write_cou

如何使用CLI命令在输入文件参数上运行Python脚本来生成输出文件

如何使用CLI命令在输入文件参数上运行Python脚本来生成输出文件. 根据我的理解,analysis.py是python脚本,-s和-p是分别包含Sales.csv和Products.csv中的csv数据的变量名. 在analysis.py中,我如何接受存储在-s和-p中的两个CSV,然后创建一个名为SalesReport.csv的输出? 我是否会创建一个名为SalesReport.csv的空白csv文件,然后将分析的数据写入文件? 或者命令行是否会使用存储在sales-report变量中的数

Python脚本远程批量执行命令

摘要 本文主要写用python脚本远程连接多台服务器,然后批量执行命令,最终返回命令执行结果. 这个可以说是Ansible,Puppet等工具的最简单的雏形. 做运维的同学应该都知道的. 正文 multi_task.py #_*_coding:utf-8_*_ import  multiprocessing import paramiko import getpass import ConfigParser class MultiTask(object):     '''handles all 

用 Python 脚本实现对 Linux 服务器的监控

hon 分享到:8 原文出处: 曹江华 目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件).glances(资源监控工具)在实际工作中,Linux 系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对 Linux 服务器的监控. 本文介绍一下使用 Python 脚本实现对 Linux 服务器 CPU 内存 网络的监控脚本的编写. Python 版本说明 Python 是由 Guido va

在后台运行Python脚本服务

在服务器,程序都是后台运行的,当写的python脚本时,需要: 你要是想python robot.py & 是不行的,一旦用户登出,脚本就自动退出了.用at, cron也可以实现不过我发现了一个命令 nohup,可以忽略登出的信号,现在只要 nohup python robot.py &就好了.如果想要把 python里面 print的记录出来,可以这样 nohup python robot.py & > ./log/log1.log 查看后台运行的Python——pid 命

Python脚本带-的参数脚本

一.故事背景 由于先前的工作内容是做后台开发,对于脚本写的很少: 昨天参加面试遇到一道面试题,写一个python脚本: 通过脚本的后面的参数选项获取参数选项后面的字符串进行处理: 问题没记错的话大概是这样的: python manage.py -u http://www.baidu.com -d 'name=zhangsan,[email protected]' -o filePATH # -u -d -o 表示url地址.查询资源.请求获取的数据保存的到filePATH文件中 二.加-的参数脚

CSV文件在Python中的几种处理方式

Comma Separated Values,简称CSV,它是一种以逗号分隔数值的文件类型.在数据库或电子表格中,它是最常见的导入导出格式,它以一种简单而明了的方式存储和共享数据,CSV文件通常以纯文本的方式存储数据表.今天,我将给大家分享在Python中如何操作CSV文件. 一.数据源 首先,我们来看看本次操作的数据源,图1 CSV文件是在Excel中打开的,图2 CSV文件是在Notepad++中打开的,我们在图2中可以看到数值之间是以逗号分隔开的,每行末尾是CR回车符和LF换行符(请注意,