Python常用命令总结【持续更新】
创始人
2024-03-31 04:35:35
0

本来是草稿,趁着今天1024水一个勋章

目录

前言

文件读写

遍历文件夹/文件

生成随机颜色

numpy创建一个空白图像/数组,opencv画线

np创建一个指定颜色的图像/数组

生成随机数/随机矩阵

关于python中函数形参的问题

plt画图

将txt数据直接读取为ndarray数组

删除np数组中的某行或某列


前言

python确实好用,有些库甚至随便猜都能猜对一些函数名。但是,库太多了,功能函数名根本记不住(我是记不住),每次用到什么都要C一下。关键是C站中的文章太多了,很难定位到自己适合且舒服的用法,干脆就把自己用到的记录下来,这样下次忘记直接在自己文章里搜索,会更加精准快捷。

开始

记录的顺序可能会很乱,用到什么记什么。更多的都是常用的基础功能,奇淫技巧什么的咱也不会。

文件读写

with open('nameyoulike.txt', 'w') as f:f.write("Hello World!")

遍历文件夹/文件

for dirpath, dirnames, filenames in os.walk(root):for dirpath2 in filenames:path.append(os.path.join(dirpath, dirpath2))

 判断文件/路径是否存在

if os.path.exists(path):

生成随机颜色

import random
def get_random_color():"""获取一个随机的颜色"""r = lambda: random.uniform(0,1)return [r(),r(),r(),1]

 生成三通道颜色,0-255之间

def get_random_color3():"""获取一个随机的颜色"""r = lambda: random.uniform(0,255)return [r(),r(),r()]

numpy创建一个空白图像/数组,opencv画线

import numpy as np
import cv2
image = np.zeros((512,512,3),np.uint8)    #创建一个黑色面板
cv2.line(image,(0,0),(511,511),(255,0,0),3)   #画直线
cv2.imshow("绘制直线",image)
cv2.waitKey()

虽然指定的线的颜色是(255,0,0),但是三个通道的顺序是BGR,所以线是蓝色的。
想让线是红色的话,又不修改颜色,可以变换一下图像的通道顺序,将BGR改为RGB。

import numpy as np
import cv2
image = np.zeros((512,512,3),np.uint8)    #创建一个黑色面板
cv2.line(image,(0,0),(511,511),(255,0,0),3)   #画直线
image = cv2.cvtColor(image,cv2.COLOR_BGR2RGB)  #色彩空间转换
cv2.imshow("绘制直线",image)
cv2.waitKey()

 

 这里画线使用的颜色就可以用随机颜色

cv2.line(image,(0,0),(511,511),get_random_color3(),3)

np创建一个指定颜色的图像/数组

img = np.zeros((300, 400, 3), np.uint8)
# 浅灰色背景
img.fill(200) # 这是对三个通道全部填充固定数值
cv2.imshow('img', img)
cv2.waitKey(0)# 我曾这样尝试对每个通道填充不同的数值
# img.fill((255,0,0)),但是失败

 

只要思想不滑坡,换个方法再来对每个通道填充不同数值。不是不可以对3通道同时填充吗,那我就单独填充。如下:

img = np.zeros((300, 400, 3), np.uint8)
img[:,:,0].fill(255)
img[:,:,1].fill(0)
img[:,:,2].fill(0)
cv2.imshow('img', img)
cv2.waitKey(0)

图像应该是什么颜色,蓝色。

 

生成随机数/随机矩阵

# 生成3*100的随机矩阵,随机值0-1之间
a=np.random.random(size=(3,100))# 生成随机值0-100之间
a=np.random.random(size=(3,100))*100# 生成1-10之间的随机整数
a=np.random.randint(1,10,size=(3,100))

关于python中函数形参的问题

参考这个写的

python中函数的四种形参_Kaiser king的博客-CSDN博客_python函数形参

plt画图

==>最简单的情况

a=np.random.random(size=(3,100))*10 # 生成的随机值在0-10之间
plt.figure()
# a[0,:]是个行向量,也可以是列向量
plt.plot(a[:, 0]) # 最简单的情况,没有其他参数
plt.axis('equal')
plt.show()

==> 指定颜色

plt.plot(a[:, 0],color=(1,0,0))
可以添加颜色参数,指定颜色,这里的颜色范围需要给0-1之间,而且顺序是RGB
颜色也可以使用color='red'

 

 ==> 画散点图

plt.plot(a[:, 0],".",color="red")

 

==> 添加label注释

plt.plot(a[:, 0],color="red",label="info")
plt.legend()
添加注释label的话,一定要有下面一行才可以显示出label

==> XY轴刻度问题

假如删除掉plt.axis('equal'),看下效果,XY轴刻度不一致,就相当于是放大拉伸局部,可以观察的更清楚。

a=np.random.random(size=(100,3))*10
plt.figure()
plt.plot(a[:, 0],color="red")
plt.show()

 ==>沿XY轴翻转镜像

plt.gca().invert_xaxis()  # 沿x轴翻转
plt.gca().invert_yaxis()  # 沿y轴翻转

==>保存画的图像

在创建画布的时候可以设置尺寸,这个尺寸好像是英寸,假如想保存1920像素,那么宽度就要除以dpi得到英寸。

a=np.random.random(size=(100,3))*10
plt.figure(figsize=(1920/200, 1080/200),dpi=200)
plt.plot(a[:, 0],color="red")
plt.savefig(u"2022年10月22日.jpg")
plt.show()

将txt数据直接读取为ndarray数组

file = "nameyoulike.txt"
a = np.loadtxt(file)

但是有个前提,就是txt中的每行数据的列数要相同

删除np数组中的某行或某列

file = "nameyoulike.txt"
a = np.loadtxt(file)
print(a)
b=np.delete(a,1,0)
print(b)# delete中的第三个参数表示数组的维度,表示删除第几维的数据
# 第二个参数表示要删除维度下的序号
# 比如delete(a,1,0),第三个参数0表示删除行,第二个参数1表示删除第1行
# 再比如delete(a,3,1),第三个参数1表示删除列,第二个参数3表示删除第3列

 

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...