[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 ivor 于 2016-2-16 20:58 编辑

回复 1# siesta
  1. # python 3.5.1
  2. # coding:gbk
  3. # 功能:非汉字字符替换为换行
  4. # 把要处理的txt拖拽到此脚本上运行,不限制文件数量
  5. import re, sys
  6. # 生成的新文档后缀_new.txt
  7. for path in sys.argv:
  8.     if path == __file__:
  9.         continue
  10.     with open(path, 'r') as rFile:
  11.         wFile = open('%s_new.txt' % path, 'w')
  12.         text = rFile.readlines()
  13.         for line in text:
  14.             repStr = re.compile(r'[^\u4e00-\u9fa5]')
  15.             nl = repStr.sub('\n', line)
  16.             wFile.write(nl)
  17.     wFile.close()
复制代码
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

本帖最后由 ivor 于 2016-2-16 20:40 编辑

回复 7# siesta


    BAT对于正则表达式不支持,需要借助第三方工具,VBS不熟悉。你要一键处理当前所有文档?
    如果用python,几条命令就可以了

6楼的代码已更新,你把要处理的所有txt都拖拽到脚本上运行就可以了
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

回复 9# siesta


    最后修改了一次,使用了re.replace函数,速度更快点了,代码逻辑思路比re.split清晰,有什么问题,欢迎指正~~
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

回复 11# siesta


    支持python2.7-2.5版本:https://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

回复 13# siesta


    应该没问题,早期的版本我也没用过,最明显的print用法不一样,但是代码里没用到
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

返回列表