一.json
参考文章:Python中的JSON数据处理 - 简书 (jianshu.com)
1.为什么要进行格式转化
json的格式
{
"sites": [
{
"name": "Nemo",
"url": "http://www.jianshu.com/u/ea364f9b9048"
},
{
"name": "google",
"url": "www.google.com"
}
]
}
看起来和python中的字典是一样的,那为什么还要进行格式转化呢?
其实这只是看起来,实际上是有很大差异的,JSON里面的数据类型和Python里面的数据类型是不一样的;
比如Python里面的字典,JSON里面是对象;Python里面的字符串是str,而JSON里面是string;Python里面的空值是None,JSON里面的空值是null。
由于这些差异的存在,如果不转换直接使用把Python里面的字典当成JSON使用,或者直接拿获取到的JSON数据当成字典用,都会出错。
2.用内置模块json来转化
用来处理对象转换:
- json.dumps(): 将Python数据编码(转换)为JSON数据;
- json.loads(): 将JSON数据转换(解码)为Python数据;
用来处理文件:
- json.dump(): 将Python数据编码并写入JSON文件;
- json.load(): 从JSON文件中读取数据并解码。
二.tkinter
Python tkinter之Treeview(表格) - 南风丶轻语 - 博客园 (cnblogs.com)
Python_tkinter_菜单(Menu)_python tkinter menu-CSDN博客
三.注意点
Python在for循环中更改list值的方法_python for循环修改list-CSDN博客
如何来隐藏、恢复、删除Tkinter的控件_python恢复控件-CSDN博客
机器学习基础
使用第三方库
下载第三方库:pip install 包名
下载速度慢可指定镜像源下载:pip install 包名 -i https://pypi.tuna.tsinghua.edu.cn/simple
查看所有下载的第三方库:pip list
查看某个包的下载信息(路径等):pip show 包名
环境管理
在不同环境下输入包命令显示结果是不同的:
输入where python 查看可运行环境
C:\Users\huawei\AppData\Local\Programs\Python\Python311\python.exe
D:\python\Hello\.venv\Scripts\python.exe
C:\Users\huawei\AppData\Local\Microsoft\WindowsApps\python.exe (没啥用)
默认的Base环境就是C:\Users\huawei\AppData\Local\Programs\Python\Python311\python.exe
之后我们创建一个python项目,就会创建一个虚拟运行环境,这些虚拟环境也是基于Base环境生成的D:\python\Hello\.venv\Scripts\python.exe(版本也是基于Base环境的),是python自带的环境管理venv来创建的。
不同环境相互独立。比如:打开cmd,输入pip install 包1,那会下载到Base环境下的包目录(C:\Users\huawei\AppData\Local\Programs\Python\Python311\Lib\site-packages)
在其他环境是没有的,此时我们进入Hello项目,是没有此包的,输入pip install 包1,此时才会下载到此环境下包目录( D:\python\deepseek\.venv\Lib\site-packages)
Anaconda管理环境
venv是python3后自带的,但是这个管理器只能基于我们系统下载的python,也就是说我们在python官网上载的是python311,那它只能产生这个版本的。
但是Anaconda可以创建很多不同版本的python环境。
查看anaconda配置信息:
conda info (安装源,envs directories虚拟环境下载路径)
查看虚拟环境列表:
conda env list
anaconda换源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
更改anaconda虚拟环境默认安装位置:
conda config --add envs_dirs D:\software\anaconda\envs
新建虚拟环境:
conda create -n yourname python=3.7
启用虚拟环境
conda activate yourname
删除虚拟环境
conda remove -n yourname --all
指定源安装
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
conda info中先envs directories和conda env list区别就是前一个是指conda在搜索环境时会检查的根目录列表。当创建新环境时会创建在列表第一个envs directory下。而后一个就是虚拟环境的位置。
我将其虚拟环境默认安装位置改为D:\soft\anaconda\envs。之后所有conda创建的环境在这里找。
可以看到当前我们的所有环境。

用conda命令创建了test命令。注意,此环境与conda的base环境对比。在base中常用的numpy,pandas等机器学习库都有了,而test环境中是没有的,只有基础库。

若test环境下载其他库,可用pip/conda 命令来下载,最好用conda因为这个命令还可以将不是python依赖的导入,避免失败。

如何打开其他人python项目
现在讲下如何把别人的python项目,拿过来用,我们首先要看项目的依赖需求,在项目的文件
requirements.txt下,比如:
torch
torchvision
tensorboard
scikit-learn
scipy==1.2.1
numpy==1.17.0
matplotlib==3.1.2
opencv_python==4.1.2.30
tqdm==4.60.0
Pillow==8.2.0
h5py==2.10.0
我们可以询问ai,这些版本要基于python几的环境才可以下载,比如上面这个就只能基于python3.5-3.7,那我们原机的python11当然载不了这几个老版本,所以我们就可以创建一个新的conda环境基于python3.7。然后我们可以通过pip download将所有依赖文件requirements.txt的依赖下载到指定文件中,比如这里就是./offline_packages_py37,注意!pip download只是下载而已,并没有把这些包安装到环境中,即没有把包放入我们创建的facenet_orig这个conda环境中,我们还需要通过pip install,将这些安装包安装到环境中。
这条命令会从你本地的 offline_packages_py37 文件夹中查找并安装所有包。
第一步:创建并激活 Python 3.7 环境
conda create -n facenet_orig python=3.7
conda activate facenet_orig
第二步:在环境中安装"棘手"的基础包
这些包用 conda 安装可以避免编译问题和依赖冲突。
conda install numpy==1.17.0 scipy==1.2.1 matplotlib==3.1.2
第三步:使用原始 requirements.txt 下载所有包
现在你的环境基础已经与项目要求对齐,可以尝试直接下载。
pip download -r requirements.txt -d ./offline_packages_py37
如果此命令成功,那么你就得到了一个完美的离线包集合。
第四步:将载入到文件中的安装包载入到conda环境中
pip install --no-index --find-links=./offline_packages_py37 -r requirements.txt
环境配好了之后,我们就可以运行项目了,在Pycharm中打开这个项目,然后选择settings-->project:[项目名]-->python Interpreter(python解释器)就可以选择这个项目指定的环境了,之后就可以运行了。

清理 Conda 缓存来释放 C 盘空间
Conda 的缓存目录默认在c盘,就是我们虽然在D盘创建conda环境,但实际上在创建环境和安装包的过程,会产生大量缓存文件,所以我们一运行C盘就爆红。
一篇文章教你清理 Anaconda 的 pkgs_conda clean -p-CSDN博客
用conda进行清理:conda clean -p
1、
conda clean -p这个命令会检查哪些包没有在包缓存中被硬依赖到其他地方,并删除它们2、
conda clean命令是对所有anaconda下的包进行搜索,不用再进入其他环境重复操作。
清理压缩包缓存:conda clean -t
预防措施:更改 Conda 缓存路径(一劳永逸)
最根本的解决方法是将 Conda 的缓存目录移到非系统盘(如 D 盘)。
-
关闭所有 Conda 环境。
-
在你想存放缓存的盘(如 D 盘)创建一个文件夹 ,例如
D:\conda_pkgs_cache。 -
设置 Conda 配置:
conda config --add pkgs_dirs D:\conda_pkgs_cache -
设置完成后,你可以手动将旧缓存文件夹(
C:\Users\<你的用户名>\.conda\pkgs)里的内容移动到新目录,或者直接让 Conda 在未来使用新路径。
Jupyter Notebooks
Anaconda中已经下载好了Jupyter,我们打开anaconda navigator,之后在主页面中点击Launch即可。

或者直接搜索jupter,也可以打开。
或者在命令窗口(cmd)输入jupyter notebook也可以打开。
显示的目录就是电脑用户所在的目录。jupter以网页的形式将我们的文件显示出来。

切换目录,只需要打开cmd切换到指定目录位置,再输入jupyter notebook,就是当前目录下的文件。

打开后运行ipynb文件用的内核是anaconda的base环境。所以大多数库直接import就行,不用下载了。

详细使用
https://github.com/TommyZihao/zihaopython
两种类型单元格,Markdown和code
用shift+enter可以运行code单元格或者点击运行按钮
Pytorch
去官网PyTorch找到不同电脑使用的下载命令。

pip3 install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple