python 的一些小技巧】的更多相关文章

在python编码过程中,总会遇到各种各样的小问题,我想着记录下来,以备查用,总结过去,是为了更好的思考与进步. 一. 去除变量中(标题中)多余的字符 数据处理过程中,遇到这样的情况: y=['月份', 'X2', '月份.1', 'X2.1', '月份.2', 'X2.2', '月份.3', 'X2.3'] 1.可以用切片的方法 y_new=[]for i in y: print(i[:2]) y_new.append(i[:2]) print(y_new) 2.可以用strip方法 x='X…
#主要是记录常见的小问题以及解决办法 ##1.复制的代码,经常出现TAB和空格不一致的情况 将tab或者空格删除,然后重新打出空格或者tab就可以了: ##2.python读取文件,经常出现的编码encode错误或者是解码错误decode,解决办法在stackoverflow上面看到的, 1)with open(filename, 'rb') as f: 就是加上'rb'限制   2)来自廖雪峰老师:遇到有些编码不规范的文件,你可能会遇到UnicodeDecodeError,因为在文本文件中可能…
前些日子,由于需要,用python写了个小插件,通过win32api 访问外部程序的窗口 并且做些小操作. 因为原来对win32api 不怎么熟悉 所以只好求救.群里有个QQ:32034767 唐骁勇 tsy_007@163.com 这小伙子不错 心热人善 动手之前要选对好工具.(既然是基于WIN32api 当然要用微软的专用的spyxx.exe,上手相当简单.比较专业 ,能查出当前桌面上所有的窗口句柄和类型.VC的那个绿色版的 spy++效果不强(Au3Info.exe也一样),无法追踪多级子…
设置代理IP的原因 我们在使用Python爬虫爬取一个网站时,通常会频繁访问该网站.假如一个网站它会检测某一段时间某个IP的访问次数,如果访问次数过多,它会禁止你的访问.所以你可以设置一些代理服务器来帮助你做工作,每隔一段时间换一个代理,这样便不会出现因为频繁访问而导致禁止访问的现象. 我们在学习Python爬虫的时候,也经常会遇见所要爬取的网站采取了反爬取技术导致爬取失败.高强度.高效率地爬取网页信息常常会给网站服务器带来巨大压力,所以同一个IP反复爬取同一个网页,就很可能被封,所以下面这篇文…
第一部分 1-使用内建函数: 你可以用Python写出高效的代码,但很难击败内建函数. 经查证. 他们非常快速 2-使用 join() 连接字符串. 你可以使用 + 来连接字符串. 但由于string在Python中是不可变的,每一个+操作都会创建一个新的字符串并复制旧内容. 常见用法是使用Python的数组模块单个的修改字符;当完成的时候,使用 join() 函数创建最终字符串. >>> #This is good to glue a large number of strings &…
以下实验均在Linux上进行 1.一秒钟启动一个下载服务器 python版本 python2:  #python -m SimpleHTTPServer Serving HTTP on 0.0.0.0 port 8000 ... http://192.168.184.140:8000/    输入IP+端口即可 python3:    #python -m http.server 工作原理:启动了一个python内置的web服务器. 注意:在浏览器输入IP+端口前,系统当前路径应该是下载文件的路…
1.元素模糊定位 如抓取下面列表: elements = doc("li[id^='result_']") 2.元素精确定位 elements =doc("div[class='a-fixed-left-grid-inner']") eq索引从0开始 elements =doc("div[class='a-fixed-left-grid-inner']").find("div").eq(1) elements = doc(&q…
python的json模块通常用于与序列化数据,如 def get_user_info(user_id): res = {"user_id": 190013234,"nick": "havana"} json_str = json.dumps(res) return json_str 但是当要序列化的数据里面包含中文字符时,会变成这样 import json res = {"user_id": 190027134, "…
用for循环打印数字从1开始 for a in range(1,num+1): 用split切割字符串可以用索引选择部分 int(el.split("_")[1]) range 第一个元素是起始位置,第二个是终止位置,第三个是步长 python3 range是原生态 python2 range是列表 python2 xrange和pyhton3 range是一样的 for循环迭代字典的话里面的字典在迭代中无法增和删除修改 1.解决的方法可以遍历字典的keys转化为列表 2.或者拷贝一个…
赋值: a, b, c = 'xixi', 'haha', 'hehe' 连接字典: >>> s = {1:'a', 2:'b', 3:'c'} >>> s.keys()[1, 2, 3]>>> s.values()['a', 'b', 'c'] >>> s.items()[(1, 'a'), (2, 'b'), (3, 'c')] >>> [(k, v) for (k, v) in s.items()][(1, '…