0%

2022年

2022.4

2022.4.28

​ 继续学C#,不得不说,它太沉重了,乃至于连文档内容都多的不行……如果现实大家也能说想说的话、能追求应得的东西,大约也不会去github,也不会想着脱离现实搞程序罢。

​ 科学社会论仍存在漏洞,但想到以如今世界人民对游戏和娱乐的依赖,即便不补,也没关系吧。有时我会想:写出来又能做什么、影响什么呢?权当找点事情做,闲着也是闲着嘛。

2022.4.29

​ 不知路到了尽头,还是我走偏了。

2022.4.30

​ 有人说:现在人越来越懒了,可我们没有了土地和公社,勤劳又如何?替他们做牛做马?

2022.5

2022.5.6

​ 尽管每个人独一无二,但他们的工作却能够轻而易举找到替代品。

2022.5.10

​ 相当企业连最基本职责都不愿履行,外包,又与贩卖农奴有何本质区别?且看下文:

本比选项目为2022年孝感联通外包人员管理服务项目,(采购代理编号:HBXT-2022-11047),采购人为中国联合网络通信有限公司孝感市分公司,采购代理机构为湖北信通通信有限公司。项目资金已落实,具备比选条件,现进行公开比选,特邀请有意向的且具有提供标的物能力的潜在应答方(以下简称应答方)参选。

\1. 项目概况与采购内容

1.1 项目概况:为保障公司生产经营业务发展,选择有资质、有能力的合作对象在本地组建运营团队,拟需外包人员预计442人,依照协议约定向外包公司支付管理费。

1.2 采购内容:442人(包含2I、巡店员、营业员、96868、中台、10018、智慧工程师、BTO装维等)。

1.3 标段划分:本项目划分为两个标段:

标段一:营业外包管理(包含2I、巡店员、营业员、96868、中台、10018等外包人员管理,共计297人);

标段二:智家工程师及装维外包管理(智慧工程师、BTO装维等,共计145人)。

本项目允许应答人最多可同时中选2个标段。

1.4 采购预算:

标段一:营业外包管理:17.82万元(不含增值税);增值税税率6%。

标段二:智家工程师及装维外包管理:8.7万元(不含增值税);增值税税率6%。

1.5最高限价:本项目设置不含增值税单价最高限价,各标段不含增值税单价最高限价为50元/人/月,超过最高限价的报价为无效报价。

​ 才多少年哇,人似乎又能买卖了。

2022.5.12

​ 万物皆可解构。

2022.6.10

​ 没有想到会是这样,我所做的一切,所批判的一切,正是我的父亲,你们永远想象不到,一个愿意改变当下的人,身上流着奴性的血,但转念,恩格斯父亲是工厂主,他却是无产阶级的思想家,可真有奴才的孩子不是奴才吗?在我记忆里,似乎从没有哪个父亲,告诉儿子如何卑躬屈膝,又如何跪着向有权有势的人们讨饭,我二十五岁了,我不想跪着,我没有枪,只有血。

2022.6.12

​ 眼睁睁看着身处的民族堕落,我却无能为力。

环境

镜像源

清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/

关于镜像源命令(conda)

-显示镜像源地址

1
conda config --show channels  

-添加镜像源地址(conda)

1
conda config --remove channels url地址

-添加镜像源地址(pip)

​ 升级 pip 到最新的版本 (>=10.0.0) 后进行配置:

1
2
python -m pip install --upgrade pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

​ 如果您到 pip 默认源的网络连接较差,临时使用本镜像站来升级 pip:

1
python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip

-移除镜像源地址

1
conda config --add channels

-清除下载缓存(创建虚拟环境错误时使用)

1
2
conda clean -p
conda clean -a

虚拟环境命令

-查看当前存在哪些虚拟环境

1
2
conda env list 
conda info -e

-查看安装了那些包

1
conda list

-切换成32位虚拟环境
1
set CONDA_FORCE_32BIT=1

-检查并更新conda
1
conda update conda

-创建虚拟环境
1
conda create -n your_env_name python=x.x

注:anaconda命令创建python版本为x.x,名字为your_env_name的虚拟环境。your_env_name文件可以在Anaconda安装目录envs文件下找到。

-命令行检查当前python版本

1
2
Linux:  source activate your_env_nam
Windows: activate your_env_name

-虚拟环境中安装额外包
1
conda install -n your_env_name [package]

-关闭虚拟环境(即从当前环境退出返回使用PATH环境中的默认python版本)

windows:deactivate env_name
或者`activate root`切回root环境
Linux:source deactivate

-删除虚拟环境和环境下某个包

1
2
conda remove -n your_env_name --all`
conda remove --name $your_env_name $package_name

conda一键安装cuda和cudnn

1
conda install cudatoolkit=11.3.1 cudnn=8.2.1
  • CUDA 工具包 11.0 配合 cuDNN v8.0.2
  • CUDA 工具包 11.1 配合 cuDNN v8.1.1
  • 对不起,之前忘记最后一位了,最终把我自己坑惨了。。。

安装位置在library\lib

安装torch

GPU版本:

1
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

CPU版本
1
conda install pytorch torchvision torchaudio cpuonly -c pytorch

其它(某些易混淆概念)

Pycahrm是一个python包管理工具,可以自由切换python版本,spyder是自带用于科学数据分析的工具,默认为base,需要进anaconda navigator内安装相应环境的spyder。

Python内容(不是教程!)

检查是否存在全局变量

1
2
3
4
if "var_name" in globals():
print("var_nameexists!")elif "var_name" in locals():
print("var_name existslocally!")else:
print("var_name does notexist.")

可以分别利用 globals()和 locals()在全局和本地范围内检查变量。
globals和locals这两个作用域函数都会返回字典——因此也执行上述的字典合并语法{x, y}。代码在合并范围后的字典中同时检查了test1和test2。

Opencv

裁剪图片

1
resized1[y1:y2, x1:x2]=resized0

resized0是小图
resized1是大图,参数是左上点和右下点

在图片(或视频)中添加文字

示例:

1
cv2.putText(img, str(i), (123,456)), font, 2, (0,255,0), 3)

各参数依次是:图片,添加的文字,左上角坐标,字体,字体大小,颜色,字体粗细

其中字体可以选择

FONT_HERSHEY_SIMPLEX
Python: cv.FONT_HERSHEY_SIMPLEX

FONT_HERSHEY_PLAIN
Python: cv.FONT_HERSHEY_PLAIN

FONT_HERSHEY_DUPLEX
Python: cv.FONT_HERSHEY_DUPLEX

FONT_HERSHEY_COMPLEX
Python: cv.FONT_HERSHEY_COMPLEX

图片储存为numpy

示例:

1
2
3
4
5
6
7
8
9
import cv2
import numpy as np
#使用numpy创建二维数组
img=np.ones((200,200))
#转化类型
img=np.int8(img)
#转化成灰度图片
img=cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
cv2.imwrite("demo.jpg",img)

Win32api

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 获取鼠标当前位置的坐标
win32api.GetCursorPos()
# 将鼠标移动到坐标处
win32api.SetCursorPos((200, 200))
# 左点击
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 200, 200, 0, 0)
win32api.mouse_event(win32con.MUOSEEVENTF_LEFTUP, 200, 200, 0, 0)
# 获取窗口句柄
win32gui.FindWindow(None, 'qq')
win32gui.FindWindow('TXGuiFoundation', None)
# 通过坐标获取窗口句
hw = win32gui.WindowFromPoint(win32api.GetCursorPos())
# 获取窗口classnam
gui.GetClassName(hw)
# 获取窗口标题
win32gui.GetWindowText(hw)
# 获取窗口坐标
win32gui.GetwindowRect(hw)

一点好玩的东西

​ python可以通过反射调用C# dll库,首先在vs 2022内建一个C#类库,编译后在bin内寻找相应dll文件,复制到pycahrm项目内,导入pythonnet库,ide标红不要怕,跑就完事了,能通。

​ 随后因为某些原因,又尝试调用c dll,照例打开vs2022,建立一个c++ dll文件,按惯例改文件名成c的后缀,网上教程很多,照着弄完事,技术很成熟。

​ 于是乎,一个同时使用c、c#和python的乱炖项目诞生了……

——————忽然——————我发现如果使用mmap进行视频的共享,会因为不同程序的时钟问题卡住,一番尝试后还是改成python,事实证明python效率比c#差了一截,获取同样窗口截图占用更高——————