Python调用you-get
Python代码调用you-get直接下载到桌面12345678910111213141516import subprocess# 这里的url请输入你所下载的视频地址url = 'https://www.bilibili.com/video/BV1yP411P7As/?spm_id_from=333.788.recommend_more_video.0&vd_source=197cd9faf9dfebb5668cf8cff4737d21'cmd = ['you-get', url]# 执行命令p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)# 获取输出out, err = p.communicate()# 输出结果print(out.decode('utf-8'))
详细命令以下是使用Python调用you-get下载视频的示例代码,注释详细说明了每个步骤的作用:
12345678910111213141516 ...
Linux驱动开发
内核模块 Linux是宏内核(单内核)操作系统的典型代表,Windows操作系统是微内核。宏内核所有内核功能都被整体编译在一起,形成一个单独的内核镜像文件。优点是效率非常高,内核中各功能模块的交互是通过直接的函数调用进行的。
微内核只实现内核相当关键和核心的一部分,其他模块被单独编译,功能模块之间的交互需要通过微内核提供的某种通信机制来建立。优点:有利于增加,删除,修改内核的某个功能。
SQL语言(MySQL/Oracle/SQL Server/PostgreSQL)
了解SQL数据库
安装 MySQL
首先更新本地存储库索引,执行sudo apt update
从APT存储库安装MySQL,执行sudo apt install mysql-server,在安装过程中,可能会出现[Y / n]问题,输入Y继续
安装完成后可以输入mysql --version查看版本
安装后,MySQL服务器应自动启动。 要检查它是否正在运行,执行systemctl status mysql.service
如果由于某些原因MySQL服务器未运行,执行以下命令以启动MySQL服务器:sudo systemctl start mysql
安装XXXX
安装XXXX
安装XXXX
设置root
Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来创建root用户的密码
1[root@host]# mysqladmin -u root password "new_password";
登录
12root@host# mysql -u root -pEnter password:*******
创建一 ...
安卓开发(二):UI
Android常见界面布局界面简介界面通常由容器和控件构成。容器一般是手机屏幕,控件是实现功能的图形元素。
布局文件是activity_main.xml,采用xml格式开发。
进入activity_main.xml,如下:
123456789101112131415161718<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" ...
安卓开发(一):环境搭建和第一个程序
下载andriod-studio下载地址:Download Android Studio & App Tools - Android Developers (google.cn)
这里我们创建的是AndroidTool目录,创建如上图所示五个子目录。
AndroidStudio 存放Android studio的软件程序的地方,也就是Android studio的安装目录AndroidSDK 存放SDK的地方,包含adb工具等AndroidProject 存放我们写的Android 项目代码,建议把我们所有的源代码放在此目录下方便日后查找AndroidDrive 可选 用来存放我们虚拟机的地方,设置方法参考本文末尾,非必须。默认在C盘下存放。AndroidGradle 可选 用来存放gradle缓存依赖的地方,非必须。默认在C盘下存放
配置
选择 Custom
接下来点击 next,直到
有时候上面的无法勾选,正常。重启或者哪天运气好可以勾选,或者修改代理。
(Android Virtual Device 无法勾选可以先跳过直接点击next) ...
动态规划
什么是动态规划从斐波那契数列递归
123456def fabinaac(n): if n==1 or n==2: return 1 else: return fabinaac(n-1)+fabinaac(n-2)print(fabinaac(5))
但是递归要解决的子问题太多了,低效。
非递归,递推版
1234567def fabinacc2(n): f = [0,1,1] if n>2: for i in range(n-2): num = f[-1]+f[-2] f.append(num) return f[n]
动态规划: 递推式+重复子问题
钢条切割问题
Python接受数据的方法12345678910111213141、接收一个元素s = input() #字符串n = int(input()) #整数2、接收两个或三个元素(以空格隔开)n, m = map(int, input().split())n, m, k = map(int, inpu ...
数论
最大公约数欧几里得算法——辗转相除法
gcd(a,b)
使用Python内置函数
12import mathprint(math.gcd(6,3))
最小公倍数(a*b)/math.gcd(a,b)
其他12# 保留两位小数,四舍五入print(f'{3:.2f}')
字符转成成ascill码
ord
1print(ord('a')+1)
ascill码转字符
chr
1print(chr(97))
递归与递推
时间复杂度
递归实现指数型枚举
直接输出:
12345678910111213141516171819st = [0]*16 # 记录每一个位置的状态,0为还未考虑,1选择,2不选def dfs(u): if u > n: for i in range(1,n+1): if st[i] == 1: print(i) print() return st[u] = 2 # 第一分支 dfs(u+1) st[u]=0 # 恢复现场 st[u] = 1 # 第二分支 dfs(u+1) st[u]=0 # 恢复现场if __name__ == '__main__': n = int(input()) dfs(1)
方案记录:
12345678910111213141516171819202122232425262728path =[]res = []st = [0]*16 # 记录每一个位置的状态,0 ...
基本数据结构-图
dff
图的抽象数据类型
Graph()新建一个空图
addVertex(vert)向图中添加一个顶点实例
addEdge(fromVert,toVert)添加一条有向边,用于连接fromVert,toVert
addEdge(fromVert,toVert,weight)向图中添加一条带权重weight的有向边,用于连接顶点fromVert,toVert。
getVertex(vertKey)在图中找到名为 vertKey 的顶点。
getVertices()以列表形式返回图中所有顶点。
in 通过 vertex in graph 这样的语句,在顶点存在时返回 True,否则返回 False。
邻接矩阵要实现图,最简单的方式就是使用二维矩阵。在矩阵实现中,每一行和每一列都表示图中的
一个顶点。第 v 行和第 w 列交叉的格子中的值表示从顶点 v 到顶点 w 的边的权重。如果两个顶点
被一条边连接起来,就称它们是相邻的。
邻接表为了实现稀疏连接的图,更高效的方式是使用邻接表。在邻接表实现中,我们为图对象的所有顶点保存一个主列表,同时为每一个顶点对象都维护一个列表,其 ...
Shell编程基础知识
Shell编程Shell相当于翻译官,作为用户和Linux系统内部的通信媒介。
Shell 的使用
查看当前的shell:echo $SHELL(默认是Bash)
编写脚本:vim example.sh
1234#!/bin/bash#举个例子,建议.sh结尾,表示一个脚本文件PwdLs -al
3.执行脚本:bash example.sh
Shell的变量
系统变量:$HOME , $PWD , $SHELL , $USER等
eg : echo $HOME
查看当前shell中所有变量的值: set
自定义变量:
定义变量: 变量=值 (等号两边不要有空格,默认是字符串)
eg : c=1+1
撤销变量:unset 变量
Eg: unset c
声明静态变量:readonly 变量 (不能unset撤销)
全局变量:export 变量名
...