在这个世界上,人们每天都在用Python完成着不同的工作。而文件操作,则是大家最常需要解决的任务之一。使用Python,你可以轻松为他人生成精美的报表,也可以用短短几行代码快速解析、整理上万份数据文件。当我们编写与文件相关的代码时,通常会关注这些事情:我的代码是不是足够快?我的代码有没有事半功倍的完成任务?在这篇文章中,我会与你分享与之相关的几个编程建议。我会向你推荐一个被低估的Python标准库模块、演示一个读取大文件的最佳方式、最后再分享我对函数设计的
系统 2019-09-27 17:50:22 1820
淘宝的页面很复杂,如果使用分析ajax或者js的方式,很麻烦抓取淘宝‘美食'上面的所有食品信息spider.py#encoding:utf8importrefromseleniumimportwebdriverfromselenium.common.exceptionsimportTimeoutExceptionfromselenium.webdriver.common.byimportByfromselenium.webdriver.support.ui
系统 2019-09-27 17:50:09 1820
最近越发感觉到限制我对Python运用、以及读懂别人代码的地方,大多是在于对数据的处理能力。其实编程本质上就是数据处理,怎么把文本数据、图像数据,通过python读入、切分等,变成一个N维矩阵,然后再带入别人的模型,bingo~跑出来一个结果。结果当然也是一个矩阵或向量的形式。所以说,之所以对很多模型、代码束手无策,其实还是没有掌握好数据处理的“屠龙宝刀”,无法对海量数据进行“庖丁解牛”般的处理。因此,我想以一个别人代码中的一段为例,仔细琢磨文本数据处理的
系统 2019-09-27 17:49:36 1820
Python重试模块retrying工作中经常碰到的问题就是,某个方法出现了异常,重试几次。循环重复一个方法是很常见的。比如爬虫中的获取代理,对获取失败的情况进行重试。刚开始搜的几个博客讲的有点问题,建议看官方文档,还有自己动手实验。参考:https://segmentfault.com/a/1190000004085023https://pypi.org/project/retrying/最初的版本importrequestsclassProxyUtil
系统 2019-09-27 17:49:24 1820
百度地图提供了开放的API,使用方法WEB服务API右上角登陆账号->点击“获取密钥”->“创建应用”->填写应用名称&白名单IP->然后复制AK(例如u2uqy7Gxui0XyBdcHLU0D3hQINLKokc0)然后直接上代码API提供了3种方式1行政区划区域检索2圆形区域检索3矩形区域检索详情可见API详情本文以1,3为例importrequestsurl="http://api.map.baidu.com/place/v2/search"quer
系统 2019-09-27 17:49:03 1820
'''利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。'''frompip._vendor.distlib.compatimportraw_inputdeftest1(n):f=""ifn>=90:f="A"elif60<=n<=89:f="B"else:f="C"print("%d成绩%s"%(n,f));num=raw_input("请输入:");num=int(num)test1(n
系统 2019-09-27 17:48:27 1820
最近敲代码的时候主要遇到两大问题,第一个是构造自己包的时候找不到package。构造自己package谈两条经验,有助于解决这个问题。1自己构造包的名称尽量不要和Python自带的包重名,起的名字个性化一点。要不然出的bug都不知道错在哪2只要打算把这个文件夹当成一个包,就一定要在这个文件夹同一目录下新建一个__init__.py文件(内容可以为空)一般来说注意这两点,构建包就不成问题。在包的文件夹里面的.py文件称之为模块(文件名就是模块名),当然包里也
系统 2019-09-27 17:48:06 1820
1.服务端主程序:#encoding:utf-8importthreadingfromprocedure.socket_serverimportThreadingHttpServer,MainHandlerfromprocedure.processimportmq_respond_procedurefromloggerimportlog,logwffromconfimport(HOST,PORT,MQ_A_RECV_1,MQ_A_RECV_2,MQ_A_R
系统 2019-09-27 17:47:49 1820
直接使用Python来实现向量的相加#-*-coding:utf-8-*-#向量相加defpythonsum(n):a=range(n)b=range(n)c=[]foriinrange(len(a)):a[i]=i**2b[i]=i**3c.append(a[i]+b[i])returna,b,cprintpythonsum(4),type(pythonsum(4))forarginpythonsum(4):printarg从这里这个输出结果可以看得出来
系统 2019-09-27 17:47:36 1820
Python的sys模块提供访问解释器使用或维护的变量,和与解释器进行交互的函数。通俗来讲,sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python运行时的环境。#!/usr/bin/envpython__author__="lrtao2010"#python3.7sys模块#sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,#用于操控python运行时的环境。#sys.argv接收命令行参数,生成
系统 2019-09-27 17:47:24 1820