python 去除不可见的控制字符】的更多相关文章

尤其是在json load的时候,字符串中的不可见控制字符可能会导致错误,应该先对字符串进行控制字符过滤. 对网页文本同样适用,最好在处理网页文本时先进性控制字符清洗. Replace null bytes in html text with space char to walk around lxml bug in _convert_tree func import re def remove_control_chars(s): control_chars = ''.join(map(unic…
Python 去除列表中重复的元素 来自比较容易记忆的是用内置的set l1 = ['b','c','d','b','c','a','a'] l2 = list(set(l1)) print l2 还有一种据说速度更快的,没测试过两者的速度差别 l1 = ['b','c','d','b','c','a','a'] l2 = {}.fromkeys(l1).keys() print l2 这两种都有个缺点,祛除重复元素后排序变了: ['a', 'c', 'b', 'd'] 如果想要保持他们原来的排…
python 去除停用词  结巴分词 import jieba #stopwords = {}.fromkeys([ line.rstrip() for line in open('stopword.txt') ]) stopwords = {}.fromkeys(['的', '附近']) segs = jieba.cut('北京附近的租房', cut_all=False)final = ''for seg in segs:    seg = seg.encode('gbk')    if se…
Python 去除字符串中的空行 mystr = 'adfa\n\n\ndsfsf' print("".join([s for s in mystr.splitlines(True) if s.strip()]))…
列表中元素位置的索引用的是L.index 本文实例讲述了Python去除列表中重复元素的方法.分享给大家供大家参考.具体如下: 比较容易记忆的是用内置的set 1 2 3 l1 = ['b','c','d','b','c','a','a'] l2 = list(set(l1)) print l2 还有一种据说速度更快的,没测试过两者的速度差别 1 2 3 l1 = ['b','c','d','b','c','a','a'] l2 = {}.fromkeys(l1).keys() print l2…
今天介绍下用 Python 去除 PDF (图片)的水印.思路很简单,代码也很简洁. 首先来考虑 Python 如何去除图片的水印,然后再将思路复用到 PDF 上面. 这张图片是前几天整理<数据结构和算法>PDF里的一个截图,带着公众号的水印. 从上图可以明显看到,为了不影响阅读正文,水印颜色一般比较浅.因此,我们可以利用颜色差这个特征来去掉水印.即:用 Python 读取图片的颜色,并将浅颜色部分变白. Python 标准库 PIL 可以获取图片的颜色,Python2 是系统自带的,Pyth…
傻逼微软会给文件前面加上efbbbf, 导致开发人员浪费很多时间在排错上,下面通过python代码来实现去除微软BOM的功能 用法很简单,指定可能含有BOM开头的文件,并且将微软的\r\n 换成linux的\n ,作用不影响原文件,会生产一个副本 import sys if len(sys.argv) < 2 : print "please special the filename that maybe have BOM(SB Microsoft Files)"; sys.exi…
今天使用python处理一个txt文件的时候,遇到几个特殊字符:\ufeff.\xa0.\u3000,记录一下处理方法 代码:with open(file_path, mode='r') as f: s = f.read() 1.\ufeff 字节顺序标记 去掉\ufeff,只需改一下编码就行,把UTF-8编码改成UTF-8-sigwith open(file_path, mode='r', encoding='UTF-8-sig') as f: s = f.read() 2.\xa0 是不间断…
转载:http://blog.sina.com.cn/s/blog_940224600100w8l0.html Python中的strip用于去除字符串的首位字符,同理,lstrip用于去除左边的字符,rstrip用于去除右边的字符.这三个函数都可传入一个参数,指定要去除的首尾字符. NOTE:传入的是一个字符数组,编译器去除两端所有相应的字符,直到没有匹配的字符. 这里对这几个函数做一个小小的延伸: 1,去除字符串两端相同的子串:str2.lstrip(str1), str2.rstrip(s…
一.去除空格 strip() " xyz ".strip() # returns "xyz" " xyz ".lstrip() # returns "xyz " " xyz ".rstrip() # returns " xyz" " x y z ".replace(' ', '') # returns "xyz" 二.替换 replace(&quo…
def SplitHtmlTag(file): with open(file,"r") as f,open("result.txt","w+") as c: lines=f.readlines() for line in lines: re_html=re.compile(r'<[^>]+>')#从'<'开始匹配,不是'>'的字符都跳过,直到'>' line=re_html.sub('',line) c.wri…
list1 = ['122', '2333', '3444', '', '', None] a = list(filter(None, list1)) # 只能过滤空字符和None print(a) # ['122', '2333', '3444'] # Python内建filter()函数 - 过滤list # filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素 def not_empty(s): return s and s.stri…
建议使用 "字符串".replace("要去除的字符串", "") 尽量不要使用 strip() ,有时会引入意想不到的结果.strip()的原理是单个字符的去除,而不是将整个子串作为整体来去除. 例如,本打算去掉末尾的“df”,若使用 strip("df"),会去掉“ddf”…
如下面的 <td> 柳暗花溟</td> html里面的空格&nbsp,想直接用strip()函数去除是不可能的,必须显式的去掉\xa0 例如以上的就可以这样的方式去除空格 author = author.strip("\n\r \xa0") 记录一下.…
my_str = " adsffff adsfsad " my_str.strip() 使用strip()默认将 str 两端的空白字符去除掉 同时还有rstrip() 和 lstrip() 方法, 作用分别为去除 右边的空白字符/左边的空白字符…
Python能够找出字符串开头和末尾多余的空白. 要确保字符串末尾没有空白,可使用方法rstrip(). 还可以剔除字符串开头的空白,或同时剔除字符串两端的空白. 为此,可分别使用方法lstrip()和strip(): >>> favorite_language = ' python ' >>> favorite_language.rstrip() ' python' >>> favorite_language.lstrip() 'python ' &…
近期接的一个需求需要去除图片的红章,用到了PIL库. from PIL import Image,ImageEnhanceimport os#f="5-12 - 0001.tif" for rt, dirs, files in os.walk("D:\工作文件夹\OCR\pictest"): for f in files: fname = os.path.splitext(f) newName = fname[0] + '_nostamp' + fname[1] i…
今天做爬虫时.发现结果中好多多余的空格.然后有强迫症的我当然不会放过 " xyz ".strip() # returns "xyz" " xyz ".lstrip() # returns "xyz " " xyz ".rstrip() # returns " xyz" " x y z ".replace(' ', '') # returns "xyz&quo…
1.\ufeff 字节顺序标记 去掉\ufeff,只需改一下编码就行,把UTF-8编码改成UTF-8-sigwith open(file_path, mode='r', encoding='UTF-8-sig') as f:s = f.read() 2.\xa0 是不间断空白符 \xa0 是不间断空白符  我们通常所用的空格是 \x20 ,是在标准ASCII可见字符 0x20~0x7e 范围内.而 \xa0 属于 latin1 (ISO/IEC_8859-1)中的扩展字符集字符,代表空白符nbs…
def stripFile(oldFile, newFile): '''remove the space or Tab or enter in a file, and output a new file in the same folder''' f = open(oldFile, 'r+', encoding='utf8') newf = open(newFile, 'w',encoding='utf8') for eachline in f.readlines(): newStr = eac…
1.使用字符串函数replace a = 'hello world' a.replace(' ', '') # 'helloworld' 2.使用字符串函数split a = ''.join(a.split()) print(a) # helloworld 3.使用正则表达式 import re strinfo = re.compile() strinfo = re.compile(' ') b = strinfo.sub('', a) print(b) # helloworld 4.int(对…
编程思路1 遍历目标路径的rpm包并保存特性包列表: 2 利用python模块rpmUtils提取RPM包的特征信息:包名  版本号 架构 3 遍历特性列表中存在重复包名的rpm, 将低版本的rpm包完整路径信息保存在删除列表中: 4 遍历目标路径,根据删除列表删除低版本的rpm包 函数接口解读: rpmUtils.miscutils.splitFilename  —— https://programtalk.com/python-examples/rpmUtils.miscutils.spli…
问题描述 今天在写爬虫爬取影评时,本来的思路把影评的标题作为文件名,将每个影评的详情内容写入到"标题.txt"文件中,直到我遇到了这个问题: 这时我突然意识到,文件名中有些字符是不能存在的,怎么解决这些问题呢? 解决问题 首先想到的就是在创建文件时去除掉这些标题中的不能用的字符,机制的我赶紧去重命名了桌面上的一个文件,试图试验出那些字符,然后,机智的微软爸爸早已洞悉了一切, 也就是说文件名中不可以包含 / \ : * ? " < > | 这9个字符,因为考虑到直观…
导入pandas import pandas as pd 1.读取excel中的数据: frame = pd.DataFrame(pd.read_csv('excel的绝对路径.csv'', 'Sheet1')) 2.去除重复行后的数据; data = frame.drop_duplicates(subset='', keep='first', inplace='') drop_duplicates用法:subset='需要去重复的列名', keep='遇到重复的时保留第一个还是保留最后一个',…
去除数字,特殊字符,只保留汉字 ? 1 2 3 4 5 6 7 8 import re    s = '1123*#$ 中abc国' str = re.sub('[a-zA-Z0-9'!"#$%&\'()*+,-./:;<=>?@,.?★.-[]<>?""''![\\]^_`{|}~\s]+', "", s) # 去除不可见字符 str = re.sub('[\001\002\003\004\005\006\007\x08\…
去除文件中重复的行 import os with open('db.txt','r',encoding='utf-8') as read_f,\ open('.db.txt.swap','w',encoding='utf-8') as write_f: s=set() for line in read_f: if line not in s: s.add(line) write_f.write(line) os.remove('db.txt') os.rename('.db.txt.swap',…
例:1: filt函数用法及匿名函数lamda用法,详见http://www.cnblogs.com/apple2016/p/5657698.html join()用法详见http://www.cnblogs.com/apple2016/p/5600977.html ss=['upay3 27878 1 * ?'] s1=','.join(filter(lambda x: x, ss[0].split(' '))) print (s1) >>> =====================…
今天在写登录程序练习的时候,黑名单文件中多了几行空行.导致运行的时候报错:IndexError: list index out of range 代码 brackData = open(brackDataPath,"r") for line in brackData: temp = line.strip().split(',') brackDict[temp[0]] = int(temp[1]) brackData.close() 错误 Traceback (most recent c…
今天持久男 在抓取数据的时候发现很多内容都加了锚文本, 这怎么办呢? 没办法只能通过工具解决 我是这样解决的: 例如: soup = BeautifulSoup('<p>Hello <a href="http://google.com">Google</a></p>') for a in soup.findAll('a'): del a['href'] print (soup) 结果: <p>Hello <a>Go…
import re from bs4 import BeautifulSoup from lxml import etree html = '<p>你好</p><br/><font>哈哈</font><b>大家好</b>' # 法一 pattern = re.compile(r'<[^>]+>',re.S) result = pattern.sub('', html) print(result) # 法二…