同是str类型,为什么一个有返回值,一个没有?
两次调用getcontent(),只有一次能输出:(
def body(url1,url2):
try:
txt = urllib.urlopen(url1).read()
except Exception, e:
txt = urllib.urlopen(url2).read()
txt = unicode(txt,"gbk")
parser = html2txt()
parser.feed(txt)
parser.close()
#print type(parser.text) #<type 'unicode'>
return parser.text
def cr2n(txt):
#data = re.sub('(\s|\xa0)+','',txt.encode("gbk"))
#data = data.replace('<NEWLINE>',"\n").strip()
p = re.compile(r'(。|!|……|】)')
t = p.sub('。\n',txt.encode("gbk"))
#print type(t) # t is str
return t
def getcontent(ar,txt):
ctent = re.findall(ar,txt)
for i in ctent:
print i
url1 = 'http://docs.google.com/Doc?id=d8b2mxm_107cc3mgqgr' #
url2 = 'http://docs.google.com/Doc?id=d8b2mxm_107cc3mgqgr' #暂时用一样的
test = '需要匹配这个。' # test是str
ar = '匹配'
k = cr2n(body(url1,url2)) #k 是 str
getcontent(ar,k)#这个没有输出:(
getcontent(ar,test) #这个工作正确
...全文
相关推荐
pandas 为什么要用 Category 类型 而不是 Str?
"pandas中的Category类型是为了优化处理有限且固定数量值的列,特别是在数据集中存在大量重复值时。Category类型能够节省内存、提高性能,并且支持有序操作。与普通的字符串类型(str)相
Python 实现将某一列设置为str类型
当我们处理数据时,有时需要将数据框(DataFrame)中的一列特定数据类型转换为字符串(str)类型,以便进行进一步的分析或操作。
Python3中bytes类型转换为str类型
"Python3中处理字符串和二进制数据时,str和bytes类型的区分是关键。当遇到需要将bytes类型转换为str类型时,有以下两种常见方法:使用str函数和利用bytes.decode()方法
把pandas转换int型为str型的方法
至于为什么`str()`转换后保存到CSV,再读取时数据类型未变,这是因为CSV文件只存储值,不存储数据类型。当Pandas读取CSV文件时,它会基于值的格式尝试确定数据类型。
python中bytes和str类型的区别
"本文主要探讨了Python中bytes和str类型的差异,包括它们的表示形式、存储方式以及如何进行编码和解码操作。"在Python编程语言中,`bytes`和`str`是两种非常重要的数据类型


