公司电脑装了内网监控软件,连外网都被封得死死的。我试着pip install几个常用的库,结果全被拦截了。搞IT的都懂,装不了库等于没了左膀右臂。领导说让我做个小工具统计每天的数据,还得带个表格。我一看就头大,这破环境连pandas都没有。
想了个笨办法,用纯Python写。既然装不了第三方库,那我手搓一个迷你版的表格处理工具。数据结构选了列表的列表,用来存二维数据。读取CSV文件就一行一行解析。很多人觉得这很傻,但我没得选。
写代码的时候心里没底,全靠字符串切片和正则表达式硬扛。拆字段遇到引号里有逗号的情况,我调了一个下午。公司网络慢得像爬龟,连查个官方文档都要卡五分钟。有时候写烦了就跑去茶水间喝杯水,回来继续对着黑框框发呆。
工具倒是真写出来了。核心功能是读取CSV文件,生成一份简单的HTML表格,顺便做点加法、平均值计算。纯Python实现的,没依赖任何外部包。面对上千行数据,处理速度还行。老板看了我生成的报表,说了句不错。他不知道这背后是我一行一行手敲出来的。
有位同事知道我干了这件事,问为什么不提前申请外网权限。我说申请流程要走两周,而且IT明确表示不能装任何软件。他说那你用VBA啊。我说每个人擅长的工具不一样,我对VBA不熟。他笑了笑,说在甲方公司工作就要学会妥协。我没接话。
事后看那段代码,写得又臭又长。没有map函数,没有列表推导式,全是用for循环和if判断搭起来的。可它在那台连不上外网的破电脑上跑了三个月,没出过一次错。工具不是为了炫耀技术写的,是为了解决实际问题写的。我很清楚这一点。
后来我离职了,走之前把代码包好发给了接手的人。他没打开看,大概是用了pandas吧。我不在意。那段代码存留的意义,只是让我记住了一个硬核的下午——被限制了的双手反而逼出了真正的动手能力。