
Python
蛋炒鸡丁小饭团
一位喜欢研究计算机安全的灰帽子,GitHub不会展示更具体的仓库。
展开
-
【Python】AES加密/解密,RSA加密/解密
高级加密标准(英语:Advanced Encryption Standard,缩写:AES),又称Rijndael加密法(荷兰语发音: [ˈrɛindaːl],音似英文的“Rhine doll”),是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。原创 2022-10-23 19:15:42 · 752 阅读 · 0 评论 -
【Python】ValueError: Invalid format specifier
总结就是格式数不能为变量。原创 2022-09-13 12:16:22 · 2093 阅读 · 2 评论 -
【Python】防止Json模块dumps将中文转unicode编码
有时候想用Python对json数据做一些调整,在转储为json文件的过程中,会发现中文都被转成了unicode编码。temp = {"name" : "张三" } data = json . dumps(temp) print(data)输出结果:‘{“name”: “\u5f20\u4e09”}’这样其实也不是不行,至少在Python中只需要在加个解码就行了,但是用其他语言或程序处理时会非常不方便,并且就算是在Python中,也是需要额外执行一个解码的操作,在大型工程中会比较浪费系统资源。原创 2022-09-08 12:11:36 · 1540 阅读 · 0 评论 -
【Python】Python安装cv2库
模块名安装时并非如下名称。原创 2022-08-29 19:16:07 · 867 阅读 · 0 评论 -
【Python】浮点数精度问题处理
可能各位对计算机比较了解的人都明白为什么浮点数处理会出现丢失精度的问题,这里就不赘述了。在如下运算中,都可发现精度问题。原创 2022-08-29 01:07:47 · 927 阅读 · 0 评论 -
【Python】打开图像(图片)的两种方式
PIL 与 Win32Api原创 2022-08-10 20:14:43 · 6882 阅读 · 0 评论 -
解决【命令行/终端】颜色输出问题
通常我们在想让终端输出颜色的时候会使用到颜色代码,比如\x1b[31m,但是在Windows系统中不管使用哪一种语言来输出这个颜色代码,可能最终都会变成乱码。有的人的Windows系统可能不会出现这个问题,但如果你接触的系统多一些就会明白这个问题产生的原因。在Linux系统中,是从未出现过这种问题的,为什么?因为Linux默认使用的是UTF-8编码,而绝大多数Windows系统使用的是GB系列的编码比如GBK,GB2312,GB18030。编码不同也就导致了输出的结果不同。...原创 2022-08-03 10:44:17 · 792 阅读 · 0 评论 -
【C/Python联动编程】Python使用C动态库
为什么使用C动态库?众所周知,Python的运行效率实在太低。原创 2022-07-29 13:55:22 · 314 阅读 · 0 评论 -
【Socket】Python使用非阻塞模式接收完整数据
之前我使用阻塞模式接收数据时必须使用Socket的方法设置一个超时时间,用来判断连接对象是否还是数据传入。但是这种方式有个很明显的弊端,那就是会影响整个的数据传输的效率。因为需要判断数据传输是否超时来得到数据是否传输完毕,但有时会因为网络波动导致每次接收的数据量都不一样,也就会导致数据完整性无法得到验证。影响数据接收的效率是因为需要等待方法设置的时间来判断是否超时,而短了通常会提前断开,长了又过于耗时。...原创 2022-07-15 06:07:12 · 3445 阅读 · 2 评论 -
【C/C++/Python】获取当前用户是否为root用户
前言以下代码均运行在x86_64 GNU/Linux的系统中Pythonimport osif not os.geteuid(): print("root.")else: print("Not root.")C/C++#include <stdio.h>#include <unistd.h>int main(){ uid_t a; a = geteuid(); if (a != 0) { printf("Not root原创 2022-05-11 14:44:16 · 1029 阅读 · 1 评论 -
Python中定义(声明)结构体
文章目录前言实现前言在Python中并无像C/C++那样的结构体类型,但是由于Python是用C编写而来的,很多东西可以互通。Python是有struct模块,但并非是用于处理一般结构体的,并且使用起来也比较麻烦。实现我们可以使用Class类来实现一个在C/C++中呈现的结构体,也可以实现C/C++中typedef struct {}的方法。# 首先定义一个类,要有__init__class SN: def __init__(self): self.data =原创 2022-04-11 13:53:35 · 55697 阅读 · 0 评论 -
如何从0开始编写一个网络爬虫?
导读在开始之前,望读者提前了解过计算机网络的相关知识(尤其是HTTP协议与SSL/TLS加密)与基础的代码编写(不限于语言类型)。以下代码均以Python3为例(因其代码简易,故使用其进行演示)未安装Python3的请通过此连接下载安装,并配置相关的环境变量。Download Python | Python.org特别声明: 在正式开始编写之前,你应该明白什么资源不能爬取,如果网站有robots.txt(爬虫规则)请遵守它,否则很可能会有牢狱之灾!正文估计一开始接触网络爬虫的人都会听原创 2022-02-28 23:59:21 · 1986 阅读 · 0 评论 -
Python random sample替代方法
前言有时因为特殊需要不想用sample,但是又得实现相同的功能,于是我就用到另一种实现方法。且经过实测,发现两种方法的时间复杂度与空间复杂度几乎相同。不过我只进行了小数据量的测试,根据需要具体可以由各位深度测试一下。展示from random import choiceaList = [x for x in range(256)]# 假设同样实现,打乱列表元素排序# 用sample可以直接用如下的代码res = sample(aList, 256)# 用choice可以使用如下代码原创 2022-02-05 11:00:37 · 974 阅读 · 0 评论 -
Python退格键与方向键失效,出现^H^M的解决办法
以下操作都需要执行sudo apt updatesudo apt upgrade -ysudo apt install libncurses5-devpip3 install readline # 请对应Python版本修改pip版本将Python重新编译安装./configure --enable-optimizationsmake && make install原创 2022-01-07 19:07:41 · 1083 阅读 · 0 评论 -
【持续更新】C/C++与Python的语法, 代码的区别【写给自己也写给大家】
前言为什么我想写这篇文章,因为我发现自己有时候Python的代码写的太多了,回过头来发现自己忘记了很多C/C++的语法和代码。于是想通过这篇文章来给各位以及我自己重新温习一下它们的不同与相同之处。此文章会持续更新文章说明:前者代码块为C/C++的代码,后者是Python的代码原创 2021-12-07 17:21:31 · 1466 阅读 · 0 评论 -
ssl.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:1129)
Python的巨坑你是不是好奇为什么SSL模块会跳出这个提示?你是不是好奇为什么网上都只有针对Requests模块中ssl的解决方法?先看看出现问题的代码,然后我告诉你如何解决import sslimport sockets=ssl.wrap_socket(socket.socket(socket.AF_INET,socket.SOCK_STREAM))s.connecti(("hostname",443))>>> ssl.SSLError: [SSL: SSL原创 2021-11-26 17:43:25 · 8927 阅读 · 0 评论 -
TypeError: an integer is required (got type str)
前言刚刚使用Python导入文件时出错,无论我使用什么方式导入,一直提示此错误。上网搜了下有的说是编码问题,有的说是json模块问题。解决先给各位看看我的源码,看看你们能不能猜出究竟是什么原因导致这个错误from os import *from random import *from hexdump import *from json import *with open("file.json","r"): data=f.read()>>> TypeError:原创 2021-10-02 15:52:48 · 1020 阅读 · 0 评论 -
Python 将字符串转为列表的方法
此处列出多种方法,各位请按自己需要选择第一种,正则表达式 (也是我最喜欢的一种方法)import re #导入正则表达式模块text = "124,dsjfidj,315319,3198fu,3951,d9u3"list = re.findall(r"[^,]\w+|\d+",text,re.S)>>> print(list)['124', 'dsjfidj', '315319', '3198fu', '3951', 'd9u3']有关Python正则表达式的教程可看.原创 2021-09-12 13:33:50 · 5939 阅读 · 0 评论 -
ModuleNotFoundError: No module named ‘_ctypes‘解决方法
如果你动过已配置在系统中的Python2的话请将其恢复原样。 如果没有动过请跳过第1项。1.重新安装Python2sudo apt-get update && sudo apt-get upgradesudo apt-get install python2 python2-dev python2.7-dev2.执行如下的命令处理_ctypes的错误sudo apt-get updatesudo apt-get upgradesudo apt-get dist-upgra.原创 2021-09-10 14:43:28 · 2549 阅读 · 2 评论 -
对于Pixiv的一些技术分析【个人笔记】
图片爬取这段时间一直在研究有关Pixiv的图片爬取的问题以下呢,是我目前遇到过的问题通过链接无法爬取图片绕过Pixiv登录人机检测其中困惑了我比较久的是图片链接为什么不见了这个问题。我曾写过一个Python脚本用于爬取图片,在爬其他网站时一切正常,但一旦尝试爬取Pixiv的图片时就报错HTTP 403。如果使用浏览器在登录的状态下选择“保存图片至本地”,便可以正常的保存图片,但复制图片的链接来进行下载的话就跳转到403了。推测是因为Pixiv需要登录,才能够通过这个链接下载图片。但原创 2021-09-10 02:30:29 · 2577 阅读 · 2 评论 -
Import [“Module“] could not be resolved Pylance
使用Microsoft VSCode编写Python脚本时出现了此报错解决方法为:Ctrl+Shift+P调出命令面板,然后输入settings点击首选项:打开设置在Settings.json中添加下列内容"python.analysis.extraPaths":[ "模块路径", //如 - 绝对路径 "H:\\Python3\\lib\\site-packages" //如 - 相对路径 ".\\src"]...原创 2021-09-05 15:23:50 · 1480 阅读 · 1 评论 -
Python: impor ssl 出错原因与解决方法
原因未安装openssl库解决方法安装openssl库#Ubuntu&Debian coreapt install openssl openssl-dev#Centos&Fedora&Redhatyum install openssl顺便你可以检查一下自己到底有没有安装ssl模块pip install ssl && pip install openssl && pip install pyssl...原创 2021-08-06 14:16:05 · 204 阅读 · 1 评论 -
Python socket TypeError: an integer is required (got type str)
Python SocketTypeError: an integer is required (got type str)Traceback (most recent call last): File "F:\py\demo.py", line 13, in <module> s.connect((host,port))TypeError: an integer is required (got type str)可以看到Python提示连接时出错,出错的内容是an i原创 2021-07-16 11:45:17 · 6155 阅读 · 0 评论 -
实现Python筛选Json数据【Python】
视频已上传哔哩哔哩点我跳转观看由于json数据在python中被识别为dict(字典),所以…print(变量名['Key值']['Key值'])原创 2021-05-22 03:31:17 · 2372 阅读 · 1 评论 -
Python获取服务器响应json并输出到屏幕
起因我需要编写一个用Python制作的登录脚本,但是得获取服务器反馈的JSON数据否则不知道是否成功。我先用常规方法试了一下,下面是我的代码import requestsurl="网址"header={"Host":"网址","User-Agent":"信息",}data={"uid":"****","token":"*****"}r=requests.post(url,data=data,headers=header)#这里我是将payload定为data类型的print(r.json(原创 2021-01-06 02:46:18 · 1523 阅读 · 2 评论 -
Python将其他类型转为字符串类型
起因我在搞网络编程时,想将服务器反馈的headers数据用某种特定的形式输出到屏幕上,但是每次都显示TypeError: can only concatenate str (not "CaseInsensitiveDict") to str或者AttributeError: 'slice' object has no attribute 'lower'于是我研究了一下决定把它转化为字符串类型的数据,然后问题解决了。解法demo=requests.get(url).headers #这是获得服务原创 2021-01-02 17:47:21 · 3986 阅读 · 1 评论 -
Python如何从一堆字符串中筛选中某一段的字符串
起因想搞某些api的二维码登录时,需要Key,然后从服务器获取的数据特别长,180多位的字符,但是我需要的字符串在这其中的一段里面,如何通过Python来实现筛选这段字符串就成了关键问题。解法你可以把字符串作为数组读取下标型输出,具体方法为#这是一堆字符串变量="{{123456789012345678901234567890}}"我只想要从第三位开始到第十六位结束的字符怎么做?#解法变量=变量[3:16]print(变量)这样你就获得了以下数据2345678901234其他筛原创 2021-01-02 00:59:03 · 5195 阅读 · 0 评论 -
Python IndentationError: expected an indented block
起因我这段时间无聊玩玩Python,这不玩不要紧,一玩各种报错就出现了。这次我来说说这个问题如何解决。解法Python是一个对缩进非常敏感的编程语言,以下列出你可能遇到的问题。#第一种if 2==2: print("yes") else: print("no") #第二种if 2==2:print("yes")else:print("no")上面这两段代码你放Python里运行我敢保证你百分之百会出错,不论是在终端直接运行Python还是运行py文件。解决方法if原创 2020-12-29 02:16:39 · 274 阅读 · 0 评论 -
明明安装了模块/包,Python提示无包/模块/报错
起因我在某国外网站找到了一个Python脚本以实施Exploit,但是用Python运行时会提示找不到模块>>> import 模块名Traceback (most recent call last): File "<stdin>", line 1, in <module>ModuleNotFoundError: No module named '模块名'如何解决我提供两种方法解法 1其实你无包,打开终端pip install 模块名 #安装对原创 2020-12-29 01:38:54 · 37587 阅读 · 1 评论 -
VS Code Python “Statements must be separated by newlines or semicolons“
起因我在网上找到Python的脚本想在VS Code下运行,但是一直有这个提示报错,我在网上找了很多方法都没有用。最后我想起来Python的编码规范。在Python2的情况下,print可以不输入括号,但是在Python3的情况下你用print必须要加括号,所以解决方法是…解法列如代码print "hello,world\n" #在Python3坏境会报错将代码改为print ("hello,world\n") #就是在引号两边加了括号就解决了,但是其他问题我这不做解释,列如Python原创 2020-12-29 01:25:02 · 33826 阅读 · 6 评论