CTF&密码学与社会工程
了解密码学和社会工程攻击和网络情报,以及夺旗。
1,133个主题在此版块
-
- 0 篇回复
- 95 次查看
使用 Python 进行简单的文件处理 如何使用 Python 打开、关闭、读取、写入和附加到文件 在本文中,我们将了解 Python 中一些最常见的文件处理操作。我们将学习如何打开和关闭文件、读取和写入文件,以及如何将数据附加到现有文件。在本文结束时,您将为在 Python 中处理文件打下坚实的基础! 打开文件 在 Python 中处理文件的第一步是打开它们!这是使用 打开() 功能。 该函数的语法如下: 打开(文件名,模式) 这 文件名 参数表示要打开的文件的名称。这 模式 参数表示您要打开文件的模式。最常见的模式是 'r' 对于只读, 'w' 对于只写,和 '一个' 为追加。 打开文件后,您可以开始读取或写入文件。但在我们开始之前,让我们看一个例子: f = 打开(“testfile.txt”,“r”) 在上面的代码中,我们以只写模式打开了一个名为 testfile.txt 的新文件。请注意,我们已将生成的文件对象分配给变量“f”。这是因为一旦打开文件,之后需要再次关闭它。 注意:如果您尝试打开的文件不在您使用 Python 的当前目录中,则必须声明文件路径。确保复制所有反斜杠或在路径字符串前加上“r”。如果不这样做,您将收到文件读取错误。 "C:\\Users\\Ryan\\Desktop\\testfile.txt" #双反斜杠 r"C:\Users\Ryan\Desktop\testfile.txt" #'r' 前缀 关闭文件 要在 Python 中关闭文件,我们使用 关() 方法。出于几个…
HACK1949的最后回复, -
- 0 篇回复
- 87 次查看
Python中的切换案例?发现 MatchCase Fonte: 不飞溅 很长一段时间以来,许多迁移到 Python 语言的程序员的疑问是对功能的支持 开关盒 ,在Java、C#和C++等语言中广为人知。直到 2021 年年中,Python 本身并没有类似的东西,但是,情况发生了变化,在新的 Python 更新中,在 3.10 版中,支持此功能——名称不同,但原理相同。在本文中,我们将发现 相符 , 的替代语法 如果别的 对于条件结构。 匹配案例语法 假设我们的开发团队必须为一家比萨店编写代码,我们的目标是返回三种最畅销的比萨口味的原料:葡萄牙、玛格丽塔和拿波利塔纳。为此,我们可以想到一个简单的条件结构 如果别的 , 如下所示: 在上面的代码中,我们总是重复这句话 风味==披萨名称 ,这使得代码重复。当然,我们只进行了三个比较,但可能会有二十、三十、五十个案例,对于所有这些情况,我们都必须重复相同的比较,但是请注意,所有这些条件都大致相同场景,即比萨饼的味道,所以不针对每个条件重复场景会很有趣。现在见面, 相符 : 在代码中,没有必要重复类似的比较 风味==披萨名称 对于每个场景。相反, 相符 为代码添加了更多的优雅和简洁。 你的语法 工作方式如下: 这个单词 匹配 伴随着一个变量来评估其值。在这种情况下,我们定义将被评估的场景的上下文。 然后我们在下面定义每种情况( 案子 )我们期望:案例( 案子 ) 在 匹配 成为这个值,做这个。 返回默认值 但你一定在想:如果没有列出的案例怎么办?如何告诉火柴盒? Python 有…
HACK1949的最后回复, -
- 0 篇回复
- 94 次查看
Python 逻辑运算符第 2 部分第 2 部分 Python逻辑运算符简介 有时,您可能希望同时检查多个条件。为此,您使用逻辑运算符。 Python 具有三个逻辑运算符: 和 或者 不是 这 和 操作员 这 和 运算符检查两个条件是否同时存在 真的 同时: 它返回 真的 如果两个条件都是 真的 .它返回 错误的 如果任一条件 一个 或者 b 是 错误的 . 以下示例使用 和 运算符组合两个比较 价格 带数字: 结果是 真的 因为 价格 大于 9 小于 10。 以下示例返回 错误的 因为 价格 不大于 10: 在这个例子中,条件 价格 > 10 返回 错误的 而第二个条件 价格 < 20 返回 真的 . 下表说明了结果 和 结合两个条件时的运算符: 从表中可以看出,条件 一个 和 b 只返回 真的 如果两个条件都计算为 真的 . or 运算符 类似于 和 运营商 或者 操作员检查多个条件。但它返回 真的 当一个或两个个别条件是 真的 : 下表说明了结果 或者 结合两个条件时的运算符: 这 或者 运算符返回 错误的 只有当这两个条件都 错误的 . 下面的例子展示了如何使用 或者 操作员: 在这个例子中, 价格 < 20 返回 真的 ,因此,整个表达式返回 真的 . 以下示例返回 错误的 因为这两个条件都计算为 错误的 : 非运算符 这 不是 运算符适用于一个条件。它扭转了这种情况的结果, 真的 变成 错误的 和 错误的 变成 真的 . 如果条件是 …
HACK1949的最后回复, -
- 0 篇回复
- 92 次查看
Day 65 今日内容概要 csrf跨站请求伪造 csrf操作方式 csrf相关装饰器 auth认证模块 auth_user表切换 基于django中间件设计项目功能 今日内容详细 1.csrf跨站请求伪造 1.简介 钓鱼网站:假设是一个有一个和银行一样的网址页面,用户在该页面上转账 账户的钱会减少 但受益人不是要转账的人 2.模拟 一台计算机上两个服务端不同端口启动 钓鱼网站提交地址改为正规网站的地址(action=正规网站的地址) 3.预防预防 csrf策略:通过在返回的页面上添加独一无二的标识信息从而区分正规网站和钓鱼网站的请求 #真网站服务器针对真网站发送的请求会产生一个随机字符串发送给真网站。然后提交请求的时候需要先核对随机字符串是否一致,每次刷新的随机字符串都是不一样的。 而假网站并没有携带随机字符串,所以对真网站服务器提交的请求会失败 2.csrf操作方式 1.form表单 <form action="" method="post"> {% csrf_token %} #加一个模板语法即可 </form> 2.ajax 方式1:先编写csrf模板语法 然后利用标签查找和值获取 手动添加 'csrfmiddlewaretoken':$('[name="csrfmiddlewaretoken"]').val() 方式2:直接利用模板语法即可 'csrfmiddlewaretoken':'{{ cs…
HACK1949的最后回复, -
- 0 篇回复
- 96 次查看
一. 实验目的和要求 1、了解python的基本操作; 2、学会并熟练使用python的语法; 二. 实验环境 一台windows系统的电脑,python软件 三. 实验过程 1、实例一 2、实例二 3、实例三 4、实例四 5、实例五 6、 实例六 7、实例七 四. 实验结果与分析 1、通过以上的实例实操,可知在python中使用“#”作为单行注释的符号,从符号“#”开始直到换行为止,“#”后面的所有内容都为注释的内容; 2、实例操作时,缩进可以通过空格或者《tab》键实现,通常情况下采用4个空格作为一个缩进量,使用tab键时的,采用一个tab键作为一个缩进量; 3、整数、浮点数和复数可以转换。
HACK1949的最后回复, -
- 0 篇回复
- 87 次查看
总体而言,面试的感觉很好,面试官很好,但是自己太菜。投了自己不擅长的领域,面试问题不难。 过程: 1.首先自我介绍 2.结合我的自我介绍,问了我的实习经历的内容 3.做一道python的题目,题目很简单,回文串 4.python爬虫是用的多线程还是多进程 5.多线程和多进程的区别 def is_huiwen(num): resv = str(num) resv == resv[-1::-1] print(is_huiwen) 自我总结: 我太菜了,真的太渣。
HACK1949的最后回复, -
- 0 篇回复
- 85 次查看
1.问题描述 找不到mycommon文件 2. 原因 本身mycommon 和test就不在一个目录,再执行test的时候,调用add_num的import的时候是再test.py的目录下查找的文件。执行的是test.py ,所以python默认把test 所在的目录作为搜索包的路径,from mycommon ,python 是去test.py 所在的目录搜索,是找不到的 3.解决方法 from .mycommon 该题的关键点是python搜索包的路径
HACK1949的最后回复, -
- 0 篇回复
- 85 次查看
场景一 · 批量将不同的字符串替换为不同内容 # 要替换的内容 key-value replist = {"1":"一","2":"二","3":"三"} txt = "111-222-333-112233-123" def dl(t: str, repl: dict): for i in repl: t = t.replace(i,repl[i]) return txt print(dl(txt,replist)) 场景二 · 批量将不同的字符串替换为指定内容 # 要替换的内容,如将以下字符批量替换为 + replist = ['1','2','3'] # 替换成什么字符 rt = "+" # 测试文本 txt = '1a2b3d' def dl(t: str, repl: list): for i in repl: t = t.replace(i,rt) return t print(dl(txt,replist))
HACK1949的最后回复, -
- 0 篇回复
- 94 次查看
在python中使用datetime()函数可以创建当前日期;那如何来切割日期,接下来strftime() 函数的全部参数整理如下。 一、我们先创建一个当前日期,然后再来切割 import datetimex = datetime.datetime.now()print(x) datetime.datetime.now().strftime('%@') @=参数 二、整理strftime() 函数的全部参数 参数 描述 实例 语法举例 %y 年,短版本,无世纪! 22 print(x.strftime('%y')) %Y 年,完整版本 2022 print(x.strftime('%Y')) %b 月名称,短版本 Jul print(x.strftime('%b')) %B 月名称,完整版本 July print(x.strftime('%B')) %m 月,数字01-12 7 print(x.strftime('%m')) %d 日,数字 01-31 18 print(x.strftime('%d')) %H 小时,00-23 16 print(x.strftime('%H')) %I 小时,00-12 4 print(x.strftime('%I')) %p AM/PM PM print(x.strftime('%p')) %M 分,00-59 31 print(x.strftime('%M')) %S 秒,00-59 8 print(x.strftime('%S')) %f 微妙,000000-999999 508514 p…
HACK1949的最后回复, -
- 0 篇回复
- 91 次查看
Python有6个序列的内置类型,但最常见的是列表和元组。 参考:https://www.runoob.com/python/python-lists.html 实例: #!/usr/bin/python # -*- coding: UTF-8 -*- list = [] ## 空列表 list.append('Google') ## 使用 append() 添加元素 list.append('Runoob') print list
HACK1949的最后回复, -
- 0 篇回复
- 81 次查看
加入要输入以下公式: 1、用python的sympy,输入python进入python环境,导入必要的库 from sympy import symbols 2、根据sympy的要求将公式变为: Integral(cos(x)**2, (x, 0, pi)),这一步比较简单,不会的同学,可以找一下sympy的文档看10分钟就会了 3、将第2步的公式作为参数,传入latex函数,也就是输入latex(Integral(cos(x)**2, (x, 0, pi))) 4、 结果是:\int\limits_{0}^{\pi} \cos^{2}{\left(x \right)}\, dx,这就是latex的公式 5、打开typora或者latex,输入\int\limits_{0}^{\pi} \cos^{2}{\left(x \right)}\, dx,验证结果就是上图的公式,OK成功了。 以上就是无需学习latex,就可以输入公式的方法,你学废了吗?
HACK1949的最后回复, -
- 0 篇回复
- 80 次查看
from decimal import * a1 = Decimal('1.125').quantize(Decimal('0.00'),rounding=ROUND_HALF_UP) 参考:(27条消息) python 如何四舍五入_doudou_nc的博客-CSDN博客_python 四舍五入
HACK1949的最后回复, -
example 1.bmi height =1.70 print("您的身高:" + str(height)) weight = 48.5 print("您的体重:" + str(weight)) bmi = weight/(height*height) print("您的BMI指数为:"+str(bmi)) #判断身材是否合理 if bmi<18.5: print("您的体重过轻 ~@_@~") if bmi>=18.5 and bmi<24.9: print("正常范围,注意保持 (-_-)") if bmi>=24.9 and bmi<29.9: print("您的体重过重~@_@~") if bmi>=29.9: print("肥胖 ^@_@^") example 2.tank print(''' ▶ 学编程,你不是一个人在战斗~~ | __\--__|_ II===========0000[/ ★007--_| _____\_________|/-----. /___sada…
HACK1949的最后回复, -
- 0 篇回复
- 93 次查看
def sort_dict(_dict,sort,reverse): """ :param dict: 需要排序的字典 :param sort: 0按照key排序 1按照value排序 :param reverse: True 正序 Flase 倒序 :return: 字典排序 """ if sort == 0: return dict(sorted(_dict.items(), key=operator.itemgetter(0),reverse=reverse)) if sort == 1: return dict(sorted(_dict.items(), key=operator.itemgetter(1),reverse=reverse))
HACK1949的最后回复, -
- 0 篇回复
- 88 次查看
注:B站UP主:爱研究的小阿楠学习笔记 “胶水语言”:用来连接软件组件的程序设计语言。 常见问题 版本: 2.X 和3.X之争 在Python2.6与Python2.7里面,以下三种形式是等价的: print 'Hello world!' print ('Hello world!') #注意print后有个空格 print('Hello world!') #print()不能带有任何其他参数 但在Python3.X中只能使用后两者,print语句被Python3.X废弃,只能使用print函数 建议使用Python3.X,学习时使用最新的前一个版本 windows安装 官网:https://www.python.org/ IDE工具 推荐PyCharm社区版(免费),安装PyCharm之前,建议先安装一个anaconda 书籍 入门书籍 进阶书籍 特别推荐
HACK1949的最后回复, -
- 0 篇回复
- 91 次查看
实例01 代码: 结果: 实例02 代码: 结果: 实例03 代码: 结果: 实例04 代码: 结果: 实例05 代码: 结果: 实例06 代码: 结果: 实例07: 代码: 结果:
HACK1949的最后回复, -
- 0 篇回复
- 90 次查看
Pytest 在文件目录下新增一个pytest.ini文件,内容如下 [pytest] # 更改测试文件命名规则 python_files = newname* # 更改测试类命名规则 python_classes = newname* # 更改测试函数(用例)命名规则 python_functions = newname* Unittest 1、通过ctrl+鼠标点击main,跳转到main.py文件 2、再点击TestProgram函数跳转到对应函数 3、再点击defaultTestLoader跳转,进入TestLoader(),修改testMethodPrefix对应的值 附:修改用例运行框架
HACK1949的最后回复, -
- 0 篇回复
- 86 次查看
大家好,我是皮皮。 一、前言 前几天在Python钻石交流群【萤火】问了一个Python网络爬虫的问题,下图是截图: 下图是报错截图: 二、实现过程 这里【error】给了一个代码,如下所示,满足粉丝的需求: 用selenium没找到的话,大概率是网页还没渲染出来,代码就运行到了抓取规则,所以抓不到。 其实他的匹配规则是可以拿到数据的,只不过用jupyter运行selenium的时候容易出问题,也不推荐。 起码用其他的编译器来看,应该都可以实现的! 三、总结 大家好,我是皮皮。这篇文章主要盘点了一个Python网络爬虫的问题,文中针对该问题给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。 最后感谢粉丝【萤火】提问,感谢【此类生物】、【瑜亮老师】、【error】给出的思路和代码解析,感谢【冫马讠成】、【猫药师Kelly】、【dcpeng】等人参与学习交流。
HACK1949的最后回复, -
实验 一 项目名称:根据身高、体重计算BMI指数 实验内容: height = 1.70 print("您的身高:" + str(height)) weight = 48.5 print("您的体重:" + str(weight)) bmi=weight/(height+height) print("您的BMI指数为:"+str(bmi)) #判断身材是否合理 if bmi<18.5: print("您的体重过轻 ~@_@~") if bmi>=18.5 and bmi<24.9: print("正常范围,注意保持 (-_-)") if bmi>=24.9 and bmi<29.9: print("您的体重过重 ~@_@~") if bmi>=29.9: print("肥胖 ^@_@^") 实验 二 项目名称:输出007号坦克 实验内容: print(''' ▶ 学编程,你不是一个人在战斗是~~ | __\--__|_ II=======OOOOO[/ ★007___| _____\______\/-----. /___mingrisoft.com___| \◎◎◎◎◎◎◎◎⊙/ ~~~~~~~~~~~~ '…
HACK1949的最后回复, -
- 0 篇回复
- 89 次查看
面向对象编程 类:从一堆对象中以抽象的方式把相同的特征归类得到。 抽象类 类 实列 子类抽象为父类,子类继承父类特征。 类实例化为实例,实例抽象为类。 class Human(object): century = 21 def __init__(self, name, age): self.name = name self.age = age print("init work") def speak(self, language): print('%s has speak %s ability'% (self.name, language)) def write(self, word): print('%s has write %s ability'% (self.name, word)) def walk(self): print('%s has walk ability'% self) Allen = Human('Allen-Cart', 16) # 输出结果:init work print(Allen.name, Allen.age) # 输出结果:Allen-Cart 16 print(Allen.speak,Allen.write,Allen.walk) …
HACK1949的最后回复,