Python 开发规范指北
日志打印 在运行 cmd,shell 等命令时,以至少info级别打印执行的命令,以至少debug级别打印命令的原始输出。 在进行单文件 io 操作前,至少以info级别打印 io 对象的路径。同时操作复数同类文件,如["1.jpg","2.jpg","3.jpg","4.jpg"...]则至少要以debug级别打印 路径操作获取根目录在源码运行、pyinstaller 打包、nuitka 打包等不同运行条件下,__file__的值并不相同。一般情况下我们更倾向于推荐使用sys.argv[0]作为获取目录的方法,但这个方法也有需要注意的地方。请看下面这个 fastapi 的例子。 1uvicorn main:app --reload --port 8001 在这个例子中,我们使用了 uvicorn 来启动main.py中的 fastapi 服务。但如果在这个程序中执行sys.argv[0],将获取到的路径会是uvicorn的而非main.py的。 不要用内置函数获取工作目录任何情况下,我们都强烈建议不要使用os.getcwd()和Path.cwd()方法。来看下面的例子。...
2024
真的有四季吗?春天的野火在我的不懈努力之下,野火的项目终于赶在 DDL 之前搞定了。数据收集、预处理、实验调试、结尾整理这些工作这些一开始是谈好各自分担的,可最后还是都变成了我的工作。与其说是终究还是一个人扛下了所有,不如说这是又一场突如其来的考验吧。意外的机会让我比其他人更早掌握了项目的流程,也让我有更早的机会接触到栅格数据的处理。 柑橘与夏天有时我会感到忏悔。倒不是说无所事事,只是说我会后悔为什么把夏日的那么多时间浪费在和项目无关的事情上。我 “浪费” 了有将近三分之一的时间在与产出成果关系不大的基础技术上。(尽管当时我还不知道在那段时间我学到的新东西会对将来的我产生多大的影响)柑橘这个项目对我而言最神奇的地方就在于,一些无意间的投入会在一些完全意想不到的地方产出不少 “奇奇怪怪” 的成果,颇有种 “无心插柳柳成荫” 的感觉。 成都之秋哦,成都。 今年的下半年,我去了 “三次” 成都。暑假和秋季各一次,十一月因为去了一趟南宁回来过一趟。这次去成都 “取经” 不只是见见世面,也有从很多人身上学到些东西。开阔的视野和灵活的思维对人的成长都是非常必要的。很多厉害的人与其说是 “学习...
(脚本)利用 github actions 进行自动编译和打包
GitHub Actions 是一种持续集成和持续交付 (CI / CD) 平台,可用于自动执行生成、测试和部署管道。 可以创建工作流程来构建和测试存储库的每个拉取请求,或将合并的拉取请求部署到生产环境。 我们可以利用 github 给予免费帐户 2000分钟/月 的免费额度的额度来进行很多工作。 创建工作流GitHub Actions 使用 YAML 语法来定义工作流程。 每个工作流都作为单独的文件存放于 .github / workflows 的目录中。 1234567891011repository_dir├─.github│ └─workflows│ └─build.yaml├─.idea│ └─...├─.vscode│ └─...├─src│ └─...... 你可以手动创建这个文件,也可以使用 GitHub 提供的工作流入门模板。 配置工作流文件这是一个简单的工作流示例。 12345678910111213name: learn-github-actionsrun-name: learning GitHub Actionson: [push]j...
(遥感)利用阿里云 AI Earth 进行野火风险性分析
AI Earth 是一个由阿里云提供支持的遥感算法开发和数据驱动科学平台。利用平台提供的Python SDK,我们可以通过编写 Python 代码来实现对遥感数据的云端处理。平台既提供了在线Notebook环境,也支持直接在本地Jupyter Notebook编写代码。因为在本地编写更有利于对后续管理,所以本项目也采用了本地Jupyter Notebook编写的方式。 配置准备安装AI Earth Engine SDK1python -m pip install -U "aie-sdk[engine]" 注册阿里云账号阿里云・云小站 获取鉴权信息根据不同的配置环境可以选择不同的鉴权方式 使用在线NoteBook环境:无须鉴权 使用本地模式,但是不需要长期有效:使用 token 鉴权 使用本地模式,但是希望鉴权长期有效:使用阿里云 AccessKey 鉴权 使用本地模式,但是希望使用 Aliyun STS 鉴权 在 AI Earth 生成 token 编写代码鉴权选取对应的方式进行鉴权 12345678910111213import aie# 在线NoteBook不需要填入参...
(年度总结)2023 年的总结
年度总结我想用一个词来概括 2023 年 —— 辞旧迎新。 从 2023 年的年初我就已经做好了打算,要在一些事情上做出一些改变。也许我放在去年或者前年,我可能会很难想象在那之后所发生的事情。毕竟这听起来这是一个很飘渺的想法,但当一切都开始起作用的时候,产生的影响是巨大的。即使之前已经有了一定的心理预期,但还是感到相当震撼。 我做出了一个重大的决定 —— 重开。 我是说各种意义上的重开,不仅限于人设捆绑的社交帐号的重开。(虽然实际上也这么做了)我重新整理了我在线上和线下几乎所有的社交活动,改变了以往的很多作风,希望能够实现从 I 到 E 的转变。这看似是一个很漫长的过程,但实际执行起来也无非就是即刻从身边的事情开始做起。另一方面,两个月的公司学习经验给了我对行业的完全不同的视角,我开始重新梳理对发展前途的思考。通过向优秀的前辈和学长请教,我对发展的技术路线直接进行了接近推倒重来的构思。 自进入大学以来,我都在寻求各个方面的改变,尝试去做各种各样以前从来没做过也不敢去想的事。但是推翻我在大学期间做出的一些决定到还是头一回。也许确实是我变了吧。 新学的技能Pythonpython 的...
(Python)基于 MAA 的明日方舟自动化脚本
什么是 MAAMeo Assistant Arknights(现改名为 Maa Assistant Arknights)是一款由MistEO 制作的基于图像识别技术,可以一键完成全部日常任务的明日方舟游戏小助手! MAA已经封装了简单易用的接口,我们可以通过查看附带的范例和阅读集成文档中的介绍可以进一步了解它的工作方式。 Python 初调试安装好MAA后目录内已经附带了一个 Python 的 demo,一般是在这个位置。 MAA\Python\sample.py ps: 为了保险起见,个人建议最好还是先在外面通过MAA.exe直接启动 GUI 检查MAA是否能正常正常工作再开始脚本调试。 打开脚本后进行初配置。 1234567891011121314151617181920212223242526272829303132## 请设置为存放 dll 文件及资源的路径path = pathlib.Path(__file__).parent.parent## 设置更新器的路径和目标版本并更新Updater(path, Version.Stable).update()## ...
(遥感)利用 Sentinel 卫星影像数据研究某市地震引发的地表形变
前情概要据中国地震台网正式测定:07 月 03 日 20 时 57 分某市发生 3.7 级地震,震源深度 9 千米。某分析小组将用遥感卫星影像数据分析地震前后地表发生的形变。 检查 SARscape 在 ENVI 中的配置 安装 ENVI 以及 SARscape 扩展 下载研究地区对应时段的 Sentinel 卫星影像和 DEM 检查 SARscape 在 ENVI 中的配置 有条件的话还可以准备 GPC 文件,但它不是必须的 设置内存占用限制,检查 OpenCL 硬件加速的配置情况, 我这里没有独显就只开了核显 。 应用 ENVI 自带的 Sentinel 参数设置 加载 Sentinel 卫星影像 依次导入所有影像,选择统一输出的目录,点击 Exec 开始读取。 (SARscape 默认为每个步骤的输出文件重命名为 原文件名 加 特定后缀 ,有特殊需求可以在 Parameters 里更改。) 基线估算打开基线估算 /SARscape/Interferometry/Interferometric Tools/Baseline Estimation 输入主从影像的 ...
(年度总结)2022 里发生的那点事
折腾总结(小声:瑞幸的长椅靠背坐着真难受) 写文章的总结关于这一年里折腾过的七七八八里,最让人有成就感的还得是个人博客这个东西。它不像 QQ 空间,也不像微信朋友圈,它不属于微博那样的类社交平台,也用不着在上面吐槽太多琐碎的事情。 它是一个私人的站点,它只属于我一个人,但这并不代表在什么东西都可以跟玩一样的写在这里。很多简单的没有技术价值的东西就不必写了。有的内容仅用作记录而言还说得过去,但 “创造” 同样的东西无异于在浪费时间,CSDN和知乎上已经有太多同样的东西了。 我码字没有列大纲的习惯,双手放上键盘的时候才发现什么也写不出来,在这个时候才开始动脑确实还是太晚了。而自从在纸质书信一事上封笔之后,我还发现了一个更加严重的问题。在大多时候,在文章中精炼自己的语言对于我而言是一件很难的事。这不同于礼仪上的繁文缛节,是确确实实的废话连篇。 特别是习惯了在各种小作文里凑字数之后。 关于这方面确实还有很多地方需要改进。 OneDrive 的那些事自丰收之秋之后,我花了大量的时间在折腾 OneDrive 这件事上。经过了三个月的倒腾,我最后还是选择了Onedrive-vercel-ind...
(散记)读书散记(一)
纸质书?电子书?因为那年的某件大事原因,原本在教室的日常学习改为了在宿舍上网课,我也赶在图书馆关闭前把《岩波日本史(3)》还了回去。与此同时,还莫明其妙种草了电纸书,Dennis 学长因此对这方面表达了相当多的意见。总之就是因为这个玩意到最后肯定会沦为泡面盖,就劝我三思,不要掉进消费陷阱(事后证明他的判断是正确的)。但是比计划来得更快的是意外 —— 同部门的同学因为要换 ipad pro,就把他现在在用的 ipad mini6 以不到 3k 的价格卖给了我 (有教育优惠真的可以为所欲为) 。那么按照流程,此时就应该打开 z-lib 了…… 等等,我 z-lib 呢?怎么突然挂了(土拨鼠咆哮.mp4) 好吧,虽然z-lib暂时用不了了,但是我也在这段时间里找到了更多其他的搜书渠道,所以也算是有些小小的收获。 烤乳鸽咕咕咕,这只鸽子把这篇文章搁置了半年,还不如抓出去烤了。(bushi) 在那之后花了大概两个月学期的时间,总算(囫囵吞枣地)把这套书看完了。黑船事件和岩仓使团成了我对日本近代史中印象较深的部分。 看电子书也逐渐开始成为正式我生活的一部分,这半年的时间里我陆陆续续也看了一些...
(散记)读书散记(零)
图书馆入口的大门在第二层,进了大门后按照指示从藏书馆专用的楼梯走下了一楼。一楼也有自习用的桌椅,但人并不多,甚至还有空桌。顺着架子的上编号一路走过去,没有找到表示历史的K 类,通道的尽头是两到三排的I 类艺术类。 靠里的某个书架之间有一位少女,她突兀地坐在那里,一个人坐在椅子上看书 —— 大概是图书馆的管理员。她没有注意到我,我也不想去打扰她,于是就靠着墙边往别处走去。 图书馆一楼的深处有很多锁着的柜子,里面放着档案、文档、甚至磁带。 花了一些时间,终于在另一个角落找到了K类。确切的说,在那里的一大片区域都是单独分给K类的,大概不少于三四十个书架。2xx~5xx的架子上靠走道的位置便是日本史。那里的光线很暗,要走到更靠里一点的位置才能触发补充光源的感应器,只好打开手机的电筒找书。 《岩波日本史》在书架的最顶部,《剑桥日本史》显得格外突出,我一开始是想要那本的。但无奈的是,整个系列只有一本在那里,整个图书馆系统也只能查到那唯一的一本,她甚至没有被任何人借阅过。因为此行的目的是找通史类书籍,所以对书架的下部放有各不同版本的《菊与刀》([美] 本尼迪克特)也不感兴趣。《岩波日本史》零散...









