加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
rename.py 1.26 KB
一键复制 编辑 原始数据 按行查看 历史
troyld 提交于 2016-07-17 23:18 . 将中文数字变为阿拉伯数字
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Created on 16/7/17
import sys,os,re
reload(sys)
sys.setdefaultencoding('utf-8')
__author__ = "troyld"
def get_all_files(dir):
fileset = []
for root,dirs,files in os.walk(dir):
for file in files:
if '章' in file:
fileset.append(file)
return fileset
num_dict = {
u'一':1,
u'两':2,
u'二':2,
u'三':3,
u'四':4,
u'五':5,
u'六':6,
u'七':7,
u'八':8,
u'九':9,
u'零':0,
}
unit_dict = {
u'十':10,
u'百':100,
u'千':1000
}
def hanzi2num(hanzi):
num = []
for i in hanzi:
if i in num_dict:
num.append(num_dict[i])
if i in unit_dict:
if i == u'十' and len(num)==0:
num = [10]
else:
num[-1] *= unit_dict[i]
return str(sum(num))
if __name__ == '__main__':
dirs = './data/'
files = get_all_files('./data')
for file in files:
tmp = re.findall('(.*?)章(.*)',file)
if tmp:
hanzi = tmp[0][0].decode('utf8')
name = tmp[0][1].decode('utf8')
num = hanzi2num(hanzi)
newfile = num+name
print file, 'to', newfile
os.rename(dirs+file,dirs+newfile)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化