- 博客(48)
- 收藏
- 关注
原创 wireshark 基本使用
你可以在Wireshark的过滤器栏中输入以上过滤器表达式,并应用到抓包结果中,以定位到你感兴趣的特定包。在Wireshark中,你可以使用过滤器来根据接口名称定位到特定的包。
2023-08-23 19:14:07 833
原创 网络知识整理
R1收到数据包后,根据数据包的目标IP和子网掩码等信息得到该数据包的目标网络地址,发现不在自己所在的网络内,根据自己的路由表信息确定下一跳路由R2,并将数据包中的原mac地址修改为自己的mac地址,目标mac地址修改为R2的mac地址,把数据包转发给路由器R2。当数据包到达和F在同一网络的路由时,R4路由器通过ARP查询就可以得到F的mac地址了,然后将数据包的mac地址修改为F的mac地址,数据包就可以直接送达F了。连接两个不同的网络的设备都可以叫网关设备,网关的作用就是实现两个网络之间进行通讯与控制。
2023-07-29 16:01:37 2399
原创 gdb使用总结
GDB 调试器无法直接安装到 Windows 平台上,如果想在 Windows 系统中使用 GDB 调试器,需要一个中间媒介,常用的就是 MinGW。安装完MinGW后,GDB的安装可以自动安装或手动安装,手动安装下载gdb程序后将exe放入到MinGW bin目录下,最后设置环境变量。MinGw可以为我们提供一个功能有限的 Linux 系统环境以使用一些 GNU 工具。
2023-07-03 22:46:31 1346
原创 线程共享数据同步方式-锁、互斥量、事件
进程间通信(IPC)是操作系统中不同进程之间交换数据和信息的一种机制。在多进程环境中,进程之间可能需要相互通信来实现协作和共享资源,而这需要一些特定的机制来确保数据的正确传递和同步。其中最常用的IPC机制包括锁(Locks)、信号量(Semaphores)和事件(Events)。下面我将为您详细介绍它们的使用细节和区别。
2023-07-03 22:04:56 375
原创 1、python flask使用流程
除了上述基本的使用方式,Flask还提供了很多其他功能,例如模板渲染、数据库集成等,可以根据具体需求进行进一步学习和使用。在浏览器中访问 http://localhost:5000 即可看到 “Hello, World!
2023-06-28 16:56:45 1248
原创 虚拟机配置网络
vi /etc/sysconfig/network-scripts/ifcfg-ens33,将(BOOTPROTO 修改为static 和ONBOOT修改为yes )完成后,执行"service network restart ”重启网络。编辑--虚拟网络编辑器--更改设置--选择桥接模式--还原默认设置。根据主机网段填写虚拟机网络IP、网关、DNS。
2023-03-10 11:11:25 142
原创 print函数用法:指定输出分隔符、多次输出不换行、%格式化输出字符串
'''用指定字符分割输出字符串'''print('aa','bb',sep='==')'''如何不换行输出'''print('hello',end=' ')print('world')'''格式化输出数据'''data = 'data'length = len(data)print('the length of %s is %d'%(data,length))#将输出赋值给变量from io import StringIOimport sysold_stdout
2021-01-31 11:14:32 1388
原创 Python转义字符、原始格式字符串
'''同时在字符串中显示单引号和双引号'''print("hello 'world'")#hello 'world'print('"hello" world')#"hello" worldprint("'hello' \"world\"")#'hello' "world"'''让转义符失效的方法:r、repr、\\'''print(r'hello \n \'world')#hello \n \'worldprint(repr('\\nhello\world'))#'\\nhello\
2021-01-30 19:40:14 343
原创 格式化整数和浮点数
'''整数格式化格式化一个整数,按10位输出,不足10位前面补0'''x1 = 1234print(format(x1,'*>10d'))#******1234print(format(x1,'*<10d'))#1234******print(format(x1,'*^10d'))#***1234***'''浮点数格式化格式化一个浮点数,保留两位小数'''x1 = 1234.56789x2 = 30.1print(format(x1,'0.2f'))#1234.56
2021-01-30 18:32:45 436
原创 如何反转一个字符串
'''如何反转一个字符串'''s1 = 'abcdef's2 = ''for c in s1: s2 = c + s2print(s2)'''如何用分片反转字符串'''print(s1[::-1])#将步长设为-1
2021-01-30 18:14:23 105
原创 如何检测一个字符串是否为数字
'''如何检测字符串是否位数字、数字和字母混合形式'''#检测字符串是否由字母或数字组成 isalnum'''Return True if the string is an alpha-numeric string, False otherwise.A string is alpha-numeric if all characters in the string are alpha-numeric and there is at least one character in the strin
2021-01-30 17:59:33 404
原创 改变字符串首字母的大小写
'''字符串首字母大小写转换'''s = 'hello'print(s.capitalize())s1 = 'H' + s[1:]print(s1)s1 = s[0].upper() + s[1].lower() + s[2:]print(s1)#s[0] = 'H' 只读的,会抛出异常'''拆分字符串,并将每个单词首字母变成大写'''s = 'hello world'arr = s.split(' ')new_str = f'{arr[0].capitalize(
2021-01-30 16:34:45 224
原创 十进制、二进制、八进制、十六进制之间的转换
'''如何表示不同进制的数值'''n10 = 123 #十进制n2 = 0b101011101 #二进制n8 = 0o12472 #八进制n16 = 0xF12 #十六进制print(n10)print(n2)print(n8)print(n16,'\n')'''进制之间的转换'''#二进制、八进制、十六进制转为十进制print(int('10010', 2))print(int('0o2574',8))print(int
2021-01-30 15:38:36 364
原创 不同数类型的变量或值如何连接
'''字符串与字符串之间如何连接,有几种方式'''#第1种 使用 + (加号)s1 = 'hello's2 = 'world's = s1 + s2print(s+'\n')#第2种 直接连接s = 'hello' 'world''\n'print(s)#第3种 使用逗号(,)连接,标准输出的重定向print('hello','world','\n')from io import StringIOimport sysold_stdout = sys.stdoutresul
2021-01-30 15:07:52 289
原创 Python 路径设置
#1:设置python模块的搜索路径有几种方式'''1、设置PYTHONPATH环境变量2、通过添加.pth文件3、通过sys.path设置路径'''#2:永久设置python模块的搜索路径有几种方式,如何使用他们'''1、在python安装路径下添加*.pth文件,在文件中添加需要的路径'''#3:如何临时设置python模块的搜索路径import syssys.path.append('.\\modules')import working_funprint(work
2021-01-30 14:10:32 2666
原创 导入python模块的方式
#导入python模块的方式#在Python语言中,可以使用import导入模块中的所有成员,#也可以使用from...import导入模块中所有成员或者指定成员。#当使用as为模块或模块中的成员指定别名时,一旦指定了别名,原来的名字就不能用了#1:直接导入模块import mathprint(math.sin(213))#2:从模块导入指定类、方法、成员等from math import cos,tanprint(cos(123))print(tan(123))#3:导入模块
2021-01-30 11:06:41 166
原创 Precompiled Header
一个应用程序在发展过程中常需要不断地编译。Windows程序载入的标准.H文件非常巨大,但内容不变,编译器浪费在这上面的时间非常多。Precompiled Header 就是将.H文件第一次编译后的结果存储起来,第二次再编译时就可以直接从磁盘中取出来用。这种观念在BorlandC/C++ 早已行之,Microsoft这边则是一直到Visual C++ 1.0才具备...
2020-12-24 19:38:56 302 1
原创 error C2065: ‘_acp‘ 、‘_convert‘、‘_lpw‘: undeclared identifier
在函数开头加上USES_CONVERSION宏即可,具体原因涉及到字符转化。
2020-12-24 15:39:37 290
原创 Python六种内置对象int,float,str
Python内置函数 https://www.runoob.com/python/python-built-in-functions.html
2020-10-26 01:07:06 223
原创 Python 6种内置类型之集合(set)
set / dict 使用 hash 值进行索引,其要求欲存储的元素有可哈希的要求。list和dict类型是unhashable(不可哈希)的,所以set的元素不能是list或dict类型,dict的key值也不能是list或dict类型
2020-10-25 22:29:09 207
原创 Python with as功能解释
使用Python with as的目的:任何一门编程语言中,文件的输入输出、数据库的连接断开等,都是很常见的资源管理操作。但资源都是有限的,在写程序时,必须保证这些资源在使用过后得到释放,不然就容易造成资源泄露,轻者使得系统处理缓慢,严重时会使系统崩溃。例如,文件操作时,一直强调打开的文件最后一定要关闭,否则会程序的运行造成意想不到的隐患。但是,即便使用 close() 做好了关闭文件的操作,如果在打开文件或文件操作过程中抛出了异常,还是无法及时关闭文件。为了更好地避免此类问题,不同的编程语
2020-10-15 17:53:18 233
原创 Python字符串前缀u、r、b、f含义
字符串前加 u或者不加举例:u"字符串中有中文"含义1、前缀u表示该字符串是unicode编码2、Python2中用,用在含有中文字符的字符串前,防止因为编码问题,导致中文出现乱码。3、一般要在文件开关标明编码方式采用utf8。4、Python3中,所有字符串默认都是unicode字符串。字符串前加 r举例:r"adc\n\r\tdkfjkd"含义1、前缀r表示该字符串是原始字符串,即\不是转义符,只是单纯的一个符号。2、常用于特殊的字符如换行符、正则表达式、文件路径。.
2020-09-17 16:52:40 5580
原创 UTF-8与多字节字符串转化
///////////////////// UTF-8转本地编码以及本地编码转UTF-8 ///////////////////////// 宽字符字符串转多字节字符串inline std::string _W2A_(const wchar_t* pwszText){ if (pwszText == NULL || wcslen(pwszText) == 0) { return std::string(); } int iSizeInBytes = WideCharToMul
2020-09-16 20:13:50 1239
原创 python logging 使用封装
自己对python logging 模块进行了封装,主要实现了以下功能,代码可以直接使用,logging的细节就不赘述了1、单例模式调用日志Singleton2、设置控制台显示日志setBasic3、添加普通日志addLogHandle4、添加按文件大小可回滚日志addRotatingLogHandle5、添加按时间生成可回滚日志这几个基本就够用了,下面是具体代码实现(mylog.py):import logging, logging.handlersONE_FILE_MAX_SIZ
2020-09-16 19:34:49 570
原创 Python:.proto 转换为.py、grpc.py文件
安装grpcio 与 grpcio-tools将要转化的proto协议放入单独文件夹下在文件夹下运行cmd,执行python -m grpc_tools.protoc -I./ --python_out=./ --grpc_python_out=./ .*.proto,即可将完成文件夹下所有的proto的转化
2020-09-14 20:04:34 1052
原创 Xshell6评估期已过的解决方法
https://www.cnblogs.com/bobbycheng/p/12686543.html使用该方法解决
2020-09-09 22:19:37 617
原创 如何写出满足单元测试的代码-(SOLID)设计原则
最开始只写粗框架,必要时会加上为了让自己理清逻辑的注释。等框架搭完后再完善日志、注释和异常保护等
2020-09-09 15:10:52 186
原创 python global关键字使用实例
Python中定义函数时,若想在函数内部对函数外的变量进行操作,就需要使用global关键字实现步骤1、在外部声明全区变量2、在想要操作变量的地方再次以 global声明该变量,必须在函数内部声明,在外部使用global是不会起作用的3、在每个想要修改此变量的地方都必须以global进行声明,否则不会起作用strName = 'hello'def changeName(): global strName strName = 'world'def changeName1(
2020-09-09 10:42:18 212
原创 python 多进程 multiprocessing
multiprocessing.freeze_support()看了相关文档,给出的解释是:# On Windows calling this function is necessary.所以在window上使用multiprocessing,先把这句加上吧multiprocessing.Manager()进程间通讯有多种方式,包括信号,管道,消息队列,信号量,共享内存,socket等。 Python中写多进程的程序,一般都使用multiprocesing模块。Python中进程间共享数据,除.
2020-09-08 20:51:52 157
原创 python 判断当前是Windows还是Linux平台
def isWondows(): ''' 判断当前运行平台 :return: ''' sysstr = platform.system() if (sysstr == "Windows"): return True elif (sysstr == "Linux"): return False else: logging.info("Other System ") return False
2020-09-08 20:21:07 1649
原创 python 多线程 threading使用,自定义线程池实现生产者、消费者模式
1、启动线程定时产生数据2、将数据放入queue队列3、启动一定数量的线程作为消耗,一直等待从queue队列中获取数据进行处理主进程:维护线程池、生产者线程定时产生数据放入queue队列‘’‘mythreadpool.py’‘’import threadingimport queueimport myEatThreadimport timeclass MyThread(threading.Thread): def __init__(self): threadin
2020-09-08 12:03:36 367
原创 python configparser 读取ini配置文件
import osimport configparserimport timeclass MyReadConfig(object): def __init__(self): super().__init__() self.name = '' self.age = 0 self.gender = 1 self.hobby = '' def read(self, cfgPath): if
2020-09-08 11:50:52 341
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人