Python删除文件中的中文及中文符号

简介: Python删除文件中的中文及中文符号
#删除中文和中文符号
import os, sys
import re
soupath = "../src"
os.chdir(os.path.abspath(os.path.dirname(sys.argv[0])))
#中文汉字
ChinesePattern = re.compile(u'[\u4e00-\u9FA0]+')
#中文符号
ChineseCharPattern = re.compile(u'[\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b]+')
def print_files(soupath):
    lsdir = os.listdir(soupath)
    dirs = [i for i in lsdir if os.path.isdir(os.path.join(soupath, i))]
    if dirs:
        for i in dirs:
            print_files(soupath + "/" + i)
    files = [i for i in lsdir if os.path.isfile(os.path.join(soupath, i))]
    for f in files:
        if f.endswith(".cpp"):
            soufilename = soupath + "/" + f
            tmpfile = f.split(".", 1)[0] + "_tmp.cpp"
            os.rename(soupath + "/" + f, soupath + "/" + tmpfile)
            fo2 = open(soufilename, "w+", encoding = "utf-8")
            try:
                fo2.write(parse(soupath + "/" + tmpfile))
            except IOError:
                fo2.close()
                print(soupath + "/" + tmpfile + " failure")
                exit(1)
            else:
                fo2.close()
                os.remove(soupath + "/" + tmpfile)
def parse(filename):
    try:
        fd1 = open(filename, "r", encoding = "utf-8")
        dstr = ""
        while True:
            str = fd1.read(1)
            if not str:
                break
            ChinesePatternMatch = ChinesePattern.search(str)
            ChineseCharPatternMatch = ChineseCharPattern.search(str)
            if not ChinesePatternMatch and not ChineseCharPatternMatch:
                dstr += str
        fd1.close()
    except IndexError:
        print(filename + " error")
        exit(1)
    else:
        return dstr
if __name__ == '__main__':
    print_files(soupath)
相关文章
|
12月前
|
开发者 Python
Python基本语法之符号使用
Python基本语法之符号使用
107 0
|
2月前
|
机器学习/深度学习 数据采集 算法
数据稀缺条件下的时间序列微分:符号回归(Symbolic Regression)方法介绍与Python示例
有多种方法可以处理时间序列数据中的噪声。本文将介绍一种在我们的研究项目中表现良好的方法,特别适用于时间序列概况中数据点较少的情况。
48 1
数据稀缺条件下的时间序列微分:符号回归(Symbolic Regression)方法介绍与Python示例
|
1月前
|
iOS开发 MacOS Python
Python编程-macOS系统数学符号快捷键录入并生成csv文件转换为excel文件
Python编程-macOS系统数学符号快捷键录入并生成csv文件转换为excel文件
|
6月前
|
IDE 开发工具 C++
|
Python
Python教程:@符号的用法
@ 符号在 Python 中最常见的使用情况是在装饰器中。一个装饰器可以让你改变一个函数或类的行为。 @ 符号也可以作为一个数学运算符使用,因为它可以在Python中乘以矩阵。本教程将教你如何使用 Python 的@ 符号。
685 0
|
6月前
|
C++
VS联网加载系统库的符号链接文件PDB方法
VS联网加载系统库的符号链接文件PDB方法
|
6月前
|
安全 IDE Java
【python刷题】leecode官方提示“->“,“:“这些符号是什么意思?什么是Type Hints?
【python刷题】leecode官方提示“->“,“:“这些符号是什么意思?什么是Type Hints?
112 0
|
人工智能 算法 大数据
【Python初级人工智能精讲】用Paddlehub给一段没有标点符号的文字加上合适的标点符号
今天给分享的程序是:给一段文字自动加上合适的标点符号,使用的是飞桨的AI算法模型:auto_punc,可以智能的分析文字中的情感并在每段文字中加上适合的标点符号。
【Python初级人工智能精讲】用Paddlehub给一段没有标点符号的文字加上合适的标点符号
|
Python
python字符串切分连接(输入一个包含多个单词的英文句子,单词间以空格分隔,标点符号后跟一个空格。定义一个函数,功能是用指定的符号把单词连接起来。)
python字符串切分连接(输入一个包含多个单词的英文句子,单词间以空格分隔,标点符号后跟一个空格。定义一个函数,功能是用指定的符号把单词连接起来。)
1058 0
|
存储 人工智能 Android开发
[oeasy]python0132_[趣味拓展]emoji_表情符号_抽象话_由来_流汗黄豆
[oeasy]python0132_[趣味拓展]emoji_表情符号_抽象话_由来_流汗黄豆
634 0
[oeasy]python0132_[趣味拓展]emoji_表情符号_抽象话_由来_流汗黄豆