Python 快速参考指南
Python代码中常用的部分
目录
有时候需要这些内容但一时找不到,所以把它们都放在这里。
它们并不是什么新东西,
只是复制粘贴的一些内容,
但对我有用,
希望你也能觉得有用。
常用 Anaconda 命令
检查是否安装了 Conda
conda -V
检查 Conda 是否更新
conda update conda
创建虚拟环境
conda create -n newenvname python=3.12 anaconda
激活虚拟环境
source activate newenvname
向虚拟环境中安装额外的 Python 包
conda install -n newenvname [package]
退出虚拟环境
source deactivate
删除虚拟环境
conda remove -n newenvname --all
程序依赖
安装依赖 - 使用 requirements 文件
与其逐个安装包,pip 允许你在一个 Requirements 文件中声明所有依赖。例如,你可以创建一个包含以下内容的 requirements.txt 文件:
requests==2.18.4
google-auth==1.1.0
然后使用 -r 标志告诉 pip 安装该文件中的所有包:
python3 -m pip install -r requirements.txt
冻结依赖
pip 可以使用 freeze 命令导出所有已安装包及其版本的列表:
python3 -m pip freeze
将输出类似如下内容:
requests==2.18.4
google-auth==1.1.0
pip freeze 命令对于创建 Requirements 文件很有用,这些文件可以重新创建环境中所有包的确切版本。
绘制矩形
import cv2
cv2.rectangle(img, (x1, y1), (x2, y2), color=(255,0,0), thickness=2)
x1,y1 ------
| |
| |
| |
--------x2,y2
要添加以下后续问题:
cv2.imwrite("my.png",img)
cv2.imshow("lalala", img)
k = cv2.waitKey(0) # 0==wait forever
我有一个 PIL Image 对象,想要在这个图像上绘制矩形。我想使用 opencv2 绘制矩形,然后将其转换回 PIL Image 对象。以下是实现方法:
# im 是一个 PIL Image 对象
im_arr = np.asarray(im)
# 将 rgb 数组转换为 opencv 的 bgr 格式
im_arr_bgr = cv2.cvtColor(im_arr, cv2.COLOR_RGB2BGR)
# pts1 和 pts2 是矩形左上角和右下角的坐标
cv2.rectangle(im_arr_bgr, pts1, pts2,
color=(0, 255, 0), thickness=3)
im_arr = cv2.cvtColor(im_arr_bgr, cv2.COLOR_BGR2RGB)
# 转换回 Image 对象
im = Image.fromarray(im_arr)
简单的参数解析
import json
#---------------------------------------------------------------------------
def do_some_awesomeness(src_file, tgt_file):
print('将一些内容从 {} 转换到 {}'.format(src_file, tgt_file))
#---------------------------------------------------------------------------
def run():
import argparse
parser = argparse.ArgumentParser(description="一个非常有用且高效的 Python 工具。")
parser.add_argument("-s", "--src", dest="src_file",
help="输入的 json 文件名")
parser.add_argument("-t", "--tgt", dest="tgt_file",
help="输出的 json 文件名")
args = parser.parse_args()
do_some_awesomeness(args.src_file, args.tgt_file)
if __name__ == '__main__':
run()
然后像这样调用它:
python ave_roma.py --src 1.json --tgt 2.json
加载和保存 json
import json
def do_convert(src_file, tgt_file):
with open(src_file) as f:
src = json.load(f)
tgt = src # :)
with open(tgt_file, 'w', encoding='utf-8') as f:
json.dump(tgt, f, ensure_ascii=False, indent=4)
获取不带扩展名的文件名
import os
print(os.path.splitext("/path/to/some/file.txt")[0])
将输出:
/path/to/some/file