下一章 上一章 目录 设置
9、第9章:Python写的救命稻草 ...
-
老式CRT显示器投射出的蓝光在陈雪脸上割出硬朗的阴影,键盘底部透出的微光如同鬼火,照亮空气中悬浮的墨粉颗粒。吴舟蜷坐在瘸腿塑料凳上,脊梁骨硌着身后油墨未干的工程图纸卷筒。那劣质的油墨气息混杂着热熔胶的甜腻、机油的金属腥,和一丝若有若无的汗酸味,沉甸甸地压在肺泡上。
“嗡…咔哒咔哒…”
老油印机在身后角落里规律地低喘颤抖,每一次震动都震得电脑桌脚发颤,桌面上半杯凉开水便漾开细小涟漪,浑浊的水垢沉淀物在杯底轻轻摇摆。屏幕角落“Python 2.4.3”的字符在灰暗的桌面背景上,像一具被遗忘的骷髅。
“喏…接线…”画图老头慢吞吞递来根断口发黑的串口线。他布满墨渍的食指指甲缝里嵌满铅灰,那线是他从角落里那台已被腐蚀穿孔报废的票据打印机内脏里拽出来的。接口处金属簧片氧化得如同老屋墙角的霉斑。
陈雪抱着朵朵坐在油墨浸透的破沙发角落,眼神空洞地盯着计算器崩裂的塑料壳——那是昨晚被她绝望中摔裂的。朵朵小小的手指紧张地捏着那盒拆了又装好、包装膜全是死褶的蜡笔,蝴蝶结丝带已经磨出了毛边。打印店学徒正鼓着腮帮子用力往一台喷墨打印机几乎塞不进纸的进纸槽里吹气,灰尘和纸屑被他吹得乱飞。
键盘下积存的尘灰厚得像经年旧雪,吴舟食指用力敲下一个字母F,键帽下腾起一小撮灰色烟雾,刺鼻的尘埃直冲鼻腔。他下意识屏住呼吸,眼前却闪过前世字捷跳动地下服务器机房排风扇堵塞的警报画面——那次事故让整个机柜报废,他通宵抢修时吸入的粉尘引发了第一次严重的哮喘,咳出的血丝染红了服务器面板的冷光指示灯。
import serial
import time
ser = serial.Serial('COM1', 9600, timeout=1)
代码在泛着蓝绿磷光的屏幕上艰难地爬行,像一条穿越布满荆棘的荒原的蛇。串口配置命令被敲入,身后老油印机却猛地发出一阵剧咳似的痉挛,接着是令人牙酸的金属摩擦长音——传送带卡住了陈年订单里一张硬质过塑彩页。
学徒骂骂咧咧地去扯那张纸,撕裂的脆响在闷热的空气中令人心惊。与此同时,电脑黑屏了!老旧电源散热风扇哀鸣一声彻底沉寂。黑暗中,只有电源灯如垂死者的眼,顽强地维持着微弱红光。陈雪喉间逸出一丝微不可闻的绝望呜咽,像被彻底掐断了最后的气管。
汗水沿着吴舟的太阳穴蜿蜒向下,滴落在油腻的键盘托架上,留下一圈深色水渍。他猛地拔下那根锈蚀的串口线,金属断裂声刺耳,接着蹲身,粗暴地将电脑主机后杂乱的接线扯开。
备用电源接口!一个被积尘和蜘蛛网完全封死的接口裸露出来。他抠掉挡板的动作几近粗暴,指甲缝立刻塞满了陈年油垢与锈片混合的污物。从学徒工具箱里翻找出一个同样老旧、布满疑似酱油痕迹的ATX转接口,用力插进那个布满可疑油渍的插槽中。接通的瞬间,电源风扇爆发出回光返照般的尖啸,屏幕挣扎着,闪烁着,在扭曲的色彩波纹中,终于艰难地重显出那冰冷的蓝色代码界面。
“妈妈!线!”朵朵突然细声叫起来,小手正试图把玩桌上那根刚被废弃的串口线。吴舟的目光猛地钉在那线断裂的黑茬处。不行,COM1串口线太老了,无法承受高频扫码。他霍地起身,目光如探照灯扫过这电子垃圾堆积场——角落里被一台冒牌“佳能”打印机压在底下、覆满灰尘的半透明扫描枪映入眼帘。枪柄塑料已泛黄开裂,连接线在老鼠啃咬处露着铜丝。
“修!”吴舟的声音带着不容置疑的金属质感。
打印店学徒愕然地抬头,沾满墨粉和机油的手指几乎抓不住那把劣质烙铁。吴舟不等他回答,已经抢步上前,抽出扫描枪,又从角落废料堆里抓过一把钳口歪斜的斜口钳。焊烙铁头烧得焦黄,熔化后的劣质焊锡点落在暴露的铜线上时,腾起刺鼻的青烟。吴舟几乎把脸凑到那些微小的断点上,焦糊味混杂着金属熔化的怪异气味冲入鼻腔。每焊一个点,眼前就泛起前世在狭窄工位上连夜修复测试设备主板的眩晕感。最后,他用不知从哪里摸出的一卷泛黄电工胶布,粗暴又严实地将修复处一层层裹紧。扫描枪在他手里,终于停止了垂死的震颤,红光穿透厚厚的灰尘,微弱却执着地亮了起来。
他几乎是踉跄着坐回塑料凳,湿透的后背衬衫紧贴在朽坏的木椅背上。手指重归键盘,冰凉的键帽触感拉回最后一丝神智。
def calculate_price(job_type, pages, color=False):
"""
自动计算打印费用
参数:
job_type (str): 作业类型(复印/打印/图纸/装订)
pages (int): 页数/份数/图纸张数/装订册数
color (bool, 可选): 是否彩色,默认为否
返回:
float: 计算后总价
"""
prices = {
"复印": (0.3, 1.5) if color else (0.1, 1.0), # (单价, 基础费)
"打印": (0.5, 1.0) if color else (0.2, 0.5),
"图纸": (8.0, 20.0), # (单张, 基础费)
"装订": (5.0, 0) # (每册装订费, 无基础费)
unit_price, base_price = prices[job_type]
total = pages * unit_price + base_price
return round(total, 2)
一行行代码如同精确的凿子,在嘈杂的环境中稳定地刻下印痕。老油印机被学徒猛踢了一脚,发出轰响后,终于断断续续印出模糊的字迹;画图老头叼着烟斗的嘴吧嗒一声,厚厚的镜片后闪过警惕的精光;街道上夜市摊油腻的油烟味混杂着啤酒瓶碰撞的响声,从没上锁的卷帘门缝猛烈地涌入;一只肥大蚊虫叮在吴舟握鼠标的手背凸起的静脉上,贪婪地吮吸着,留下一个迅速鼓起的红色肿块。陈雪机械地按着那个崩了壳的计算器,屏幕闪烁的数字忽明忽暗,如同风中残烛。朵朵靠在妈妈身侧,已经握着那盒蜡笔沉沉睡去,浓密的睫毛上还残留着一点湿意。
最后一行代码敲下。整个城中村似乎在这一刹那陷入了某种奇怪的寂静,连隔壁网吧劣质音响里的DJ舞曲都停顿了一拍。吴舟抓起那支缠满胶带、丑陋又倔强的扫描枪,USB接口冰冷地插入主机。一串黄铜锈迹蹭在了插口边缘。他屏住呼吸,对着桌面上那张等待实验的发票账单上的收费明细条码——纸张边缘甚至还有朵朵画上去的红色小星星——扣动扳机。
“滴!——”
清脆、响亮、宛如新生的电子音穿刺空间!
屏幕右下角那行简陋的CMD窗口里,白色的字符如精准跳出的舞步,瞬间排列出最终的数字:“9.80元”。
“再…再试一张!”陈雪的声音干涩发颤,几乎是扑过来,手指颤抖着从账本里抽出一张边缘卷曲的老旧图纸影印件。那是龙华图文转包过来、害她赔掉两千押金的彩图复印。扫描枪红光再次覆盖收费标签上那个令人胆寒的数字“50”时——
“滴!”窗口跳出:“51.50元”。与票据上手写的、被她反复怀疑又绝望地确认过的数字“51.5”,分毫不差!
第三次,她自己颤抖着手,拿起一张普通A4打印。页面顶部印着清晰的价格条码:复印,单面黑白,30页。旁边学徒伸着脖子偷看了一眼计算器屏幕,那上面是他早就算好的“3.00元”。陈雪的目光死死锁住电脑屏幕,嘴唇抿得发白,几乎咬出血来。
“滴!” 红光闪过。冰冷的屏幕上精准跳出:“3.00元”。
“啊!……”
陈雪捂住了嘴,压抑的哭声像开闸的洪水从指缝汹涌喷薄。她整个人矮下去,蹲在冰冷的水泥地上,肩膀剧烈地耸动,断断续续的呜咽混合着上气不接下气的抽吸。泪水滚烫地砸落,落在朵朵睡得正熟的脸颊边,溅在那盒崭新的蜡笔盒上,也落在脚边那个崩了壳的计算器裂缝里。那台刚刚还在她手里发出规律按键声、承载着她无数个日夜精打细算与无力回天的机器,此刻屏幕最后一点微弱的绿光彻底熄灭,如同燃尽了的枯木。
老油印机仿佛也安静下来。画图老头镜片后的眼神复杂难辨。打印店学徒握着烙铁,看着蹲在地上哭泣的老板娘,又看看屏幕上的数字,嘴巴无措地张了张。只有那电脑屏幕上幽幽的代码窗口,如同某种神秘的祭坛,闪烁着无言的微光。
吴舟靠在那冰冷的、散发着铁锈味道的卷筒图纸上,一股奇异的暖流突然冲破前世的阴霾和此刻的疲惫,顺着血管艰难地向上攀爬。他盯着屏幕上光标闪烁的末端,恍惚间,仿佛看见了前世服务器崩溃后,最终被修复重启的那串绿色OK代码。这一次,代码修复的不是冰冷无情的服务器,而是另一道活生生存在着的、名为生活漏洞。