找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 15460|回复: 7

【已解决】100元求助Python

  [复制链接]
发表于 2023-7-2 16:48:52 | 显示全部楼层 |阅读模式
本帖最后由 ksla 于 2023-7-3 15:09 编辑
  1. ## filename: transPY.sh [gamelist.xml的路径,默认为当前路径下的gamelist.xml]
  2. ## 使用举例:./transPY.sh /path/to/gamelist.xml
  3. ## 功能:为gamelist.xml中的中文游戏名生成拼音首字母后缀
  4. ## 举例:J-寂静岭  转换为 J-寂静岭[jjl]
  5. ## 需要安装nodejs

  6. gamelistpath="${1:-gamelist.xml}"
  7. echo "处理文件:""${gamelistpath}"
  8. # 修改编码为utf-8,以支持中文, macos请使用gsed,安装方法:brew install gsed
  9. sed -i '1c \<?xml version="1.0" encoding="utf-8"?>' "${gamelistpath}"
  10. gameList=`xml  sel -t \
  11. --value-of '//gameList/game/sortname' \
  12. --nl "${gamelistpath}"`

  13. OLDIFS="$IFS"  #备份旧的IFS变量
  14. IFS=$'\n' #处理游戏名中带空格的情况


  15. # 逐个修改name的值
  16. for game in ${gameList}
  17. do
  18.     echo "处理游戏名:"${game}
  19.     if [[ $( echo "${game}" | grep  "\[.*\]$" | wc -l ) -eq 0 ]]; then # 防止重复添加
  20.        
  21.         suffixName=$( cd "$(dirname ${BASH_SOURCE})" && py transPinying.py "${game}")
  22.                
  23.         if [[ -n ${suffixName} ]]; then # 有中文才添加
  24.             finalName="${game}""[${suffixName}]"
  25.             echo "添加后:""${finalName}"
  26.             xml  ed -L -u \
  27.             "/gameList/game[sortname = "${game}"]/sortname" \
  28.             -v  "${finalName}" \
  29.             "${gamelistpath}"
  30.         fi
  31.     fi
  32. done
  33. IFS="$OLDIFS"  #还原IFS变量
复制代码
由于上传大小限制
transPinying.py 文件从这里取



链接:https://pan.baidu.com/s/1P4BydLzZ4lMbRDps0d2YFQ
提取码:kqfl
--来自百度网盘超级会员V1的分享




错误结果:
$ ./transPY.sh gamelist.xml
处理文件:gamelist.xml
处理游戏名:光明之魂
[gmzh]:光明之魂

处理游戏名:幻想传说
[hxcs]:幻想传说

处理游戏名:黄金太阳
添加后:黄金太阳[hjty]



正确结果
$ ./transPY.sh gamelist.xml
处理文件:gamelist.xml
处理游戏名:光明之魂
添加后:光明之魂[gmzh]

处理游戏名:幻想传说
添加后:幻想传说[hxcs]

处理游戏名:黄金太阳
添加后:黄金太阳[hjty]


问题说明:脚本只对最后一个游戏名生效,其它都是失效
感觉是这个变量出错  finalName="${game}""[${suffixName}]"

具体报酬:100元人民币
支付方式:支付宝
请将支付宝手机号私信给我!可用马上打款!
发表于 2023-7-2 20:32:35 | 显示全部楼层
回复 1# ksla


如果需要上传文件,可以用阿里云盘或百度网盘。

如果需要上传截图,可以找个图床,例如:
http://bbs.bathome.net/thread-60985-1-1.html
发表于 2023-7-2 20:57:00 | 显示全部楼层
gamelist.xml文件发上来看看,它是DOS格式还是Unix格式?
 楼主| 发表于 2023-7-2 22:58:14 | 显示全部楼层
回复 3# buyiyang


    链接:https://pan.baidu.com/s/1P4BydLzZ4lMbRDps0d2YFQ
提取码:kqfl
--来自百度网盘超级会员V1的分享
发表于 2023-7-3 00:09:40 | 显示全部楼层
既然都用到python了,直接用python处理就好了
https://pan.baidu.com/s/18qz4FY34EmIMv9YdEETwqA?pwd=pzgh
 楼主| 发表于 2023-7-3 15:08:33 | 显示全部楼层
本帖最后由 ksla 于 2023-7-3 15:10 编辑

回复 5# zaqmlp


谢谢,麻烦支付宝私信一下
发表于 2023-7-3 15:32:00 | 显示全部楼层
回复 6# ksla
扫头像就行了
 楼主| 发表于 2023-7-4 07:52:24 | 显示全部楼层
回复 7# zaqmlp


    已付,感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 22:02 , Processed in 0.016171 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表