- 博客(97)
- 收藏
- 关注
原创 python 动态属性设置
python是一种动态语言,可以在动态的设置类和对象的属性。也就是反射,可以在运行是检查,修改,操作对象的能力。同时,我们可以动态的添加类或者对象的方法。
2023-04-15 19:28:49 283
原创 python3的环境上安装python2的pip
最近遇到一个问题,我们要在python3的环境上调试一段python2的代码,里面有一些库要用python2的pip安装,我尝试了安装之后,发现安装的pip3和pip都是指向python3的。
2023-01-12 08:52:30 765
原创 数据链路层-点对点PPP(point-to-point protocal)
点对点协议ppp是目前使用最广泛的点对点数据链路层协议ppp协议为点对点数据链路层协议的数据报提供了一个标准方法帧格式F(flag): ppp帧的定界符,取值0x7EA(address):取值0xFF,预留C(control):取值0x03, 预留P(protocol): 指明帧的数据部分送到哪个协议处理透明传输差错检验ppp协议的工作状态
2022-12-06 23:51:51 315
原创 物理层-编码与调制
数字基带信号(通过编码为数字信道) 模拟基带信号(通过调制为模拟信道)在使用时间域的波形表示数字信号时,代表着不同离散数值的基本波形。消息(文字,图片,音频,视频)| (信源发出的原始电信号)| (运送消息的实体)| (数据的电磁表现)
2022-11-24 00:17:42 108
原创 物理层-传输方式
串行传输:远距离传输,例如计算机网络。并行传输:cpu通过总线访问内存。双向交替通信(半双工):对讲机。双向同时通信(全双工):电话。单向通信(单工):收音机。
2022-11-16 22:08:32 345
原创 物理层-基本概念
物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层协议和服务,而不需要考虑具体传输媒体是什么。物理层考虑怎样才能将连接在各种计算机的传输媒体上传输数据比特流。物理层协议的主要特性。
2022-11-15 23:20:58 138
原创 关于支持numa的系统,绑定dpdk之后启动失败
在服务器中不同位置的网卡插槽,将网卡绑定到dpdk之后,一个插槽可以成功启动,另外一个插槽不能正常启动
2022-06-09 19:35:13 565
原创 centos默认kernel安装kernel-header等相关依赖包
背景工作需求,需要使用centos8.2中默认的kernel版本去运行程序,由于软件包需要编译,于是通过yum安装了gcc和kernel-header等依赖包,但是由于yum库中默认版本的kernel-header的版本比较新,并不是针对当前kernel版本的依赖包,所以就会编译失败。解决方法去官网手动安装对应版本的依赖包,链接如下:https://vault.centos.org/8.2.2004/BaseOS/x86_64/os/Packages/找到对应版本的rpm包然后安装附切换启动
2021-12-14 09:47:27 3160
原创 tcpdump 文件权限相关问题
tcpdump无法正常使用在linux环境上使用tcpdump抓包时,我目前遇到的两种情况都可以通过如下的方法解决:1. tcpdump直接无法使用,不管用什么命令都报权限拒绝2. tcpdump基本功能可以正常使用,只有将抓到的包通过-w参数写入到文件时才会报错解决方法首先确定自己是在root用户下登录,然后需要查询tcpdump处于的模式:grep tcpdump /sys/kernel/security/apparmor/profiles/usr/sbin/tcpdump (enfor
2021-11-16 13:28:28 4709
原创 git相关命令无法通过tab补全
issue:在一些linux系统中,安装git之后,使用git的一些命令无法通过tab进行补全,这对于敲命令来说不是很方便,原因是低版本的git缺少了配置相关的文件.solution1.下载配置相关的文件root目录下git clone https://github.com/git/git.git覆盖原有的cp ~/git/contrib/completion/git-completion.bash ~/.git-completion.bash3.追加执行命令将命令添加到/roo
2021-10-13 16:26:05 1691
原创 shell sh/bash
shell脚本语言,需要shell编译器进行编译,编译器的总类也分多种,其中最常见的是sh(Bounce Shell)和bash(Bounce Again Shell)sh编译器:unix的标准编译器,编译性能强,但是交互不强bash编译器bash是目前linux采用的标准编译器,自身兼容多种编译器,性能强,交互性好在shell脚本中,会在开头指定shell的编译器#!bin/sh#!bin/bash#!就是指定编译器的种类,一般放在首行,如果在其他地方出现就是按注释处理了POSIX标准
2021-09-26 19:01:32 363
原创 python package
当在python的目录结构下添加__init__.py的文件,则该目录会默认被识别为一个包结构,当前包结构下的.py文件可以在外部import调用实际上__init__.py是在import的时候会调用,在init文件中填写from . import * 则可以引入对应的子模块的引入...
2021-09-05 22:44:18 77
原创 python __file__ 内置属性
__file__内置属性可以获取当前方法所在文件的路径import randomprint(random.__file__)/usr/lib/python3.8/random.py由于import导入的时候是先判断当前路径下有没有import的文件,所以在命名时要避免模块名冲突,尤其是和内置模块。...
2021-09-05 17:42:54 258
原创 python导入模块所执行的代码 (__name__内置属性)
通过import关键字导入的模块,通常是需要引入模块内的全局变量,函数,类,但是对于直接执行的代码,import导入后在新的模块中也会执行__name__:内置属性,记录一个字符串,如果执行的是当前模块中的方法,则__name__ = __main__,如果执行的其他模块的,__name__则等于其他模块的路径所以,可以根据对__name__的判断实现import的模块不会执行直接执行的代码def hello(): print("hello")if __name__ == "__mai
2021-09-05 17:36:00 309
原创 python 模块导入
导入其他模块中的方法或者类,使用imort关键字import:将模块整个导入,使用时需要用模块.的方式调用from … import …:通过from import 可以指定导入的方法,类,全局变量等等,这样做的好处是不需要通过模块.的方式去调用,可以直接使用另外,如果不同的模块有相同的方法,取决于定义的向后顺序...
2021-09-05 17:24:23 127
原创 python 异常处理
为了保证程序执行的完整性,需要对程序中出现的异常进行处理,以保证程序的正常执行。错误类型:当执行代码时,报错信息得到的第一个关键字就是错误类型,例如a = int(input("请输入一个整数:"))请输入一个整数:aTraceback (most recent call last): File "/home/qjj/PycharmProjects/pyProject/test.py", line 251, in <module> a = int(input("请输入一个
2021-09-05 16:53:13 98
原创 win10上用vscode远程连接服务器
pycharm的社区版是没有远程连接的功能的,只有专业版才有,于是发现vscode可以远程连接,所以记录一下遇到的问题。首先,代码一般是运行在服务器上的,开发是在本地windows的环境上进行开发,所以服务器称为服务端,windows称为客户端,一个最基本的前提,要保证客户端和服务端的网络是通着的。在linux服务器上ping一下客户端的ip,怎么ping怎么查ip自己百度其次通过ssh进行相互连接,所以要保证客户端和服务端都安装有ssh,即在linux的命令行界面和windows的powershe
2021-09-01 09:46:34 645
原创 python单例设计模式
单例设计模式单例模式是一种设计思想,确保类有且只有一个对象被创建,换句话说,创建的类在内存空间中的地址相同。从深度来讲,这种设计模式可以减少内存和cpu资源的损耗,简单来说,假如设计一个播放器类,播放器在播放音乐时,每首歌都是单独存在的,不可能同时播放两首歌,所以就设计单例模型,创建一个对象都存在相同的地址空间。可以通过new的内置方法实现单例模式:我们知道在创建一个对象的时候,init的内置方法会对实例属性做初始化的动作,其实在init之前还有一个new的内置方法,new是object的类方法,
2021-08-31 22:33:14 93
原创 python 类属性 类方法
Python中,通过实例化类对象,通过对象调用属性和方法,这样的称为实例属性和实例方法,同样,类也有他自己的类属性和类方法。类属性:当在类的下方直接声明一个变量,那么这个变量就是这个类的类属性:如果通过对象去调用类属性,同样可以得到相同的结果,但是如果对象中也有相同的实例属性,那么会先执行实例属性,这涉及到python的属性查找机制,如果对象调用属性,在实例属性中没有找到,那么就会去类属性中查找。类方法:类方法和类属性在定义上有所不同,类方法有自己特殊的定义方式,需要在类方法的通过装饰器指定他为类
2021-08-19 00:40:29 469
原创 python mro 方法解析顺序
在多继承的场景中,如果子类同时继承多个父类,而多个父类又有相同的方法,那么子类调用父类中的方法,是根据内置属性mro来指定的:class A: def run(self): print("A run")class B: def run(self): print("B run")class C(A, B): passc = C()c.run()print(C.__mro__)A run(<class '__main__.
2021-08-11 23:23:09 135
原创 python 重写父类方法以及super()的使用
在python3中,注意是python3,当子类继承父类方法,但父类方法有不能满足子类的需求时,通常我们需要重写父类方法,重写父类方法比较简单,只需要在子类中重新定义一个相同名称的子类方法即可。如果子类继承的父类方法,不足以满足子类需求,需要在父类的基础上加一些方法,那么就可以通过super()。super()函数返回父类所代表的对象,我们可以通过super().方法+新需求来实现对父类方法的重写class Animals: def __init__(self, name):
2021-08-10 23:26:22 1400
原创 python 私有属性 私有方法
在python中,可以通过在属性或者方法前面加两个下划线来表示私有属性或者私有方法。class Women: def __init__(self, name): self.name = name self.__age = 18 def __secret(self): pass 私有属性不可以在外部通过对象直接使用,但是可以通过对象的方法来使用。事实上,在python中是不存在明确意义上的私有的,python解释器在执
2021-08-10 22:20:07 445
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人