得益于开发者Nicolas Holzschuch的工作成果,我们可以在iOS设备上使用jupyter notebook编写Python代码,解决一些轻量化问题(例如写作业的时候帮你解微分方程或者线性方程组),并且完全免费。
Carnets内置所有依赖,开箱即用,并且预装了numpy、pandas、matplotlib、scipy、sklearn、seaborn等常用的package。你还可以通过"pip install package_name"的方式安装任何pure Python package(指仅使用Python代码编写的package)。
你可以在App Store中搜索到这个名为"Carnets - Jupyter (with scipy)"的app。

获取这个app,完成安装后,你除了可以在桌面上看到名为"Carnets plus"的app图标,还可以在"文件"app中发现一个名为"Carnets"的文件夹,这个文件夹就是Python的working direction(工作目录),稍后你可以在jupyter notebook中通过getcwd()获取它的路径。

回到桌面,点击刚才提到的名为"Carnets plus"的app图标以进入app,再点击屏幕右上方的"+"按键,就可以新建一个jupyter notebook。看,是不是跟电脑端上的一模一样。
需要说明的是,在演示前,我已经在"Carnets"文件夹中存放了一个名为"202606"的文件夹,对,就是在图片中看到的这个,里面存放了一些csv文件(其中的一个,文件名称为"20260601_1.csv"),用于稍后的文件读取演示。


在jupyter notebook中输入以下代码,运行,即可获取"Carnets"文件夹(Python的working direction)的路径:
import os
cwd_path=os.getcwd()
cwd_path

呃…有点长。没关系,把它作为一个变量,后边引用它就好。
上边说到我已经在"Carnets"文件夹中存放了一个名为"202606"的文件夹,里面存放了一些csv文件(其中的一个,文件名称为"20260601_1.csv")。由于已经获取了"Carnets"文件夹的路径,那么其中包含的"202606"文件夹的路径就可以写为:
folder_path=cwd_path+"/"+"202606"
进一步地,在"202606"文件夹中存放的"20260601_1.csv"文件的路径就可以写为:
file_path=folder_path+"/"+"20260601_1.csv"
然后加载pandas,就可以读取这个文件啦:
import pandas as pd
df=pd.read_csv(file_path,delimiter=",",encoding="gbk")

在了解了怎样读取文件后,输出文件就不困难啦。这里我将演示在"Carnets"文件夹中新建一个名为"test"的文件夹,然后将刚才读取到的csv文件中的数据,以csv文件的形式输出到"test"文件夹,csv文件的名称为"data":
output_path=cwd_path+"/"+"test"
os.makedirs(output_path)
fileName="data"
df.to_csv(output_path+"/"+fileName+".csv",index=False)

需要注意的是,受iOS系统的限制,Python读写文件的路径都需要在"Carnets"文件夹以内。
好啦,以上就是在iOS设备上使用Carnets编写Python代码的最基本的演示。另外,如果你手边用的是Android设备,你可以借助qaiu同学制作的Pydroid3整合版(同样内置所有依赖,预装常用package,支持pip install纯Python package)编写Python代码。app下载和安装教程的地址为:
https://blog.qaiu.top/archives/pydroid3v72
夜雨聆风