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

[问题求助] 【已解决】python 按输入生成字符串问题

[复制链接]
发表于 2024-4-1 17:28:39 | 显示全部楼层 |阅读模式
那位会python的大佬帮忙看下这代码倒序模块,这模块逻辑好像有问题,老是倒序处理已存在的原文件(第1次输出文件)请看截图选择文件,而我只需倒序处理新输出同名递增后缀编号文件,还有就是想同上处理第3次时也报错了。
处理流程是:
第1次按“交互模块”输入输出j0001A_01.txt文件,在倒序成DaoXu_j0001A_01.txt(看截图第1次生成步骤)
第2次按“交互模块”输入输出判断当前目录是否存在*_01.txt同名后缀编号文件,如存在则输出同文件则递增成j0001A_02.txt同名后缀编号文件,在倒序成DaoXu_j0001A_02.txt,如有第3第4等‘同上处理’输出则,已此类推递增输出后缀编号文件并倒序。
问题是:此代码‘同上处理’2次输出时把已存在的文件(即第1次输出的原文件)也倒序了。
说白了就是,只需要倒序处理新输出的递增后缀编号文件。还有就是解决无限次‘同上处理’时的报错问题。

好久没来论坛发贴题了,如有不足处,望见各大佬见谅解!由于文件过大,只能上传压缩包阿里云共享链接了,注:压缩包有程序源代码,运行截图及按截图流程生成字符串输出试例文本。
https://f.ws59.cn/f/drua01ow1xy 密码:7765 复制链接到浏览器打开
抱歉,阿里云分享不了压缩包,重新添加文叔叔分享链接

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2024-4-1 18:50:33 | 显示全部楼层
难绷
阿里盘要注册
还要下载客户端
而且链接里好像也没东西


 楼主| 发表于 2024-4-2 08:13:37 | 显示全部楼层
回复 2# Five66

https://f.ws59.cn/f/drua01ow1xy 密码:7765 复制链接到浏览器打开
抱歉,阿里云分享不了压缩包,重新添加文叔叔分享链接了
发表于 2024-4-2 13:29:42 | 显示全部楼层
回复 1# winbat

重写一个最简版(以下代码存为test.py,与被处理文件同目录),主要解决楼主的核心需求
运行test.py的结果》当前目录中(不包括子目录)的全部*_01.txt被逐一生成对应的倒序文件DaoXun_*_nn.txt,倒序文件与源文件同目录

  1. import os,sys
  2. def rF (F, sq, qn):
  3.         with open(F, 'r') as fr: lines = fr.readlines()
  4.         nF = newF(F, sq, qn)
  5.         with open(nF, 'w') as fw:
  6.                 for line in reversed(lines): fw.write(line)
  7. def newF (F, sq, qn):
  8.         global q
  9.         np = F.rfind('\\'); mp = F.rfind('_'); xp = F.rfind('.'); q += int(F[mp+1:xp]); qs = f'{sq}{str(q)}'[-qn:]
  10.         return F[:np+1]+'DaoXu_'+F[np+1:mp+1]+qs+F[xp:]
  11. ####
  12. q = 0
  13. files = os.popen('dir /b/a-d *_01.txt 2>nul').read().splitlines()
  14. if not files: sys.exit()
  15. qn = len(str(len(files))); sq = '0'*len(str(len(files)))
  16. for f in files: rF(f, sq, qn)
  17. sys.exit()
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2024-4-2 16:14:27 | 显示全部楼层
修改 "文件输出模块" 和 "文件倒序模块"
在 "文件输出模块" 里调用 "文件倒序模块"

"同上处理" 换成 循环
 楼主| 发表于 2024-4-2 17:12:24 | 显示全部楼层
回复 5# Five66


    感谢,已解决。
 楼主| 发表于 2024-4-2 17:12:31 | 显示全部楼层
回复 4# aloha20200628


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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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