一般来说,python可以通过strip() 或者replace(‘\n’,”)的方式来替换掉\n 字符
不过改动某个功能代码的时候异常的发现两种替换方式都失败了,debug定位了下,发现数据是通过readlines()的方式读取进来的
而readlines 会自动的把字符中的\r\n 更改为 \\r\\n,从而导致替换失败
嗯,如果是readlines的数据,只能用replace(‘\\n’,”)了
当然,不要用readlines比较好
一般来说,python可以通过strip() 或者replace(‘\n’,”)的方式来替换掉\n 字符
不过改动某个功能代码的时候异常的发现两种替换方式都失败了,debug定位了下,发现数据是通过readlines()的方式读取进来的
而readlines 会自动的把字符中的\r\n 更改为 \\r\\n,从而导致替换失败
嗯,如果是readlines的数据,只能用replace(‘\\n’,”)了
当然,不要用readlines比较好
最近写了个try except的时候,发现每次都出现except,但是注释掉try except代码却不出错
try:
code line 1
code line 2
…
except:
excpet code …
查了下文档,可以用sys.exc_info()[0]把excpet信息打印出来
我的这个例子中刚好是在函数块中直接sys.exit(X),导致了exceptions.SystemExit
于是改了下代码,在main函数中处理了下,才sys.exit(X),错误自然也就没了
恩恩,我是半吊子的程序猿
import platform
platform.python_version()
恩恩,好使,可以增加版本判断提高代码兼容性,感谢悟能
最近临时有个需求需要用python 爬点中文数据,结果悲催的发现乱码了
查了下资料,这里做下总结:
1. 首先python的代码需要是UTF-8的
# -*- coding: utf-8 -*-
2.确认mysql的数据库和表编码是UTF8的
show create database …
show create table…
如果不是,alter table或者database设置下编码(请注意alter database编码造成的影响)
3.pytho mysql连接时确认使用UTF8
4.暂时来说,应该是正常的了,如果还不行,请尝试如下操作:
修改/etc/my.cnf
[client]default-character-set = utf8
[mysqld]default-character-set = utf8
在python代码中增加:
reload(sys)
sys.setdefaultencoding(‘utf-8’)
def intersect(a, b):
“”” return the intersection of two lists “””
return list(set(a) & set(b))
def union(a, b):
“”” return the union of two lists “””
return list(set(a) | set(b))
def difference(a, b):
“”” show whats in list b which isn’t in list a “””
return list(set(b).difference(set(a)))
备注:这里应该是list(set(b)-set(a))
这个代码非常方便的使用在比较两份海量url的共同元素上