精简格式
日期时间 胜方 胜 败方
请备份原文件 免得改不回来
可能的bug
文件格式非野狐sgf 相同文件导致重名 文件内容不完整
文件为k分析结果 文件已改名 文件首字母为[
# -*- coding:utf-8 -*-
import os.path , os , re
# 原文件名: [yy1990]vs[菜刀乄]1581657280010001462.sgf
# 目标文件名: [让子0][白胜][菜刀乄][yy1990][2020-02-14-1462].sgf
for old_name in os.listdir('.'):
if not re.search("_已分析_",old_name) and (old_name[-4:]==".sgf" or old_name[-4:]== ".SGF" )and not old_name[0:3] == '[让子' :
# print(old_name)
file_object=open(old_name,'r',encoding='utf-8')
ff = file_object.read()
fflen=len(ff)
file_object.close()
aa = 0
# 以下假设格式顺序固定 如碰到其他顺序 程序出错 可以用每段重置aa防止顺序错误
# DT[ 时间
while fflen > aa and ff[aa:aa+3] != "DT[":
aa = aa + 1
aa = aa + 3
ll = 0
time_name = ''
while fflen > (aa + ll) and ff[aa + ll] != "]":
ll = ll + 1
time_name=ff[aa:aa+ll]
aa=0
# PB[ 黑方
while fflen>aa and ff[aa:aa+3] != "PB[" : aa=aa+1
aa=aa+3
ll=0
pb_name=''
while fflen > (aa + ll) and ff[aa + ll] != "]":
ll = ll + 1
pb_name = ff[aa:aa+ll]
aa=0
# PW[ 白方
while fflen>aa and ff[aa:aa+3] != "PW[":
aa=aa+1
aa = aa+3
ll = 0
pw_name=''
while fflen>(aa+ll) and ff[aa+ll]!="]" :
ll=ll+1
pw_name=ff[aa:aa+ll]
aa=0
# HA[ 让子
while fflen>aa and ff[aa:aa+3]!="HA[" : aa=aa+1
aa=aa+3
ll=0
while fflen>aa+ll and ff[aa+ll]!="]" : ll=ll+1
ha_name=ff[aa:aa+ll]
aa=0
# RE[ 胜负 和棋及其他算白胜
while fflen>aa and ff[aa:aa+3] != "RE[" : aa=aa+1
aa = aa+3
ll=0
while fflen > aa+ll and ff[aa+ll] != "]" : ll=ll+1
re_name=ff[aa:aa+ll]
bw_name=""
if re_name[0] == "b" or re_name[0] == "B" or re_name[0] == "黑":
# bw_name="[让子" + ha_name + "][黑胜][" + pb_name + "][" + pw_name + "][" + time_name
# else :
# bw_name="[让子" + ha_name + "][白胜][" + pw_name + "][" + pb_name + "][" + time_name
bw_name="[" + time_name + "-" + old_name[-18:-14] + "][" + pb_name + "][黑胜][" + pw_name + "]"
else :
bw_name="[" + time_name + "-" + old_name[-18:-14] + "][" + pw_name + "][白胜][" + pb_name + "]"
if len(re_name)>0 :
print(bw_name+old_name[-8:]+".sgf")
os.rename(old_name, bw_name + ".sgf")
【 在 computec 的大作中提到: 】
: # -*- coding:utf-8 -*-
: import os.path , os , re
: # 原文件名: [yy1990]vs[菜刀乄]1581657280010001462.sgf
: ...................
--
修改:computec FROM 222.129.7.*
FROM 222.129.7.*