
python
JustNow_Man
计算机,努力学习中·ye
展开
-
【Python】全局变量
glabal关键字简单使用class Database: # 数据库实现 passdatabase = Nonedef initialize_database(): global database database = Database()glabal关键字告诉python,我们刚刚在initialize_database里定义了一个模块级别的database变量。数据包导入方式绝对导入相对导入相对导入无法工作,因为没有将所有代码放到一个包里。...原创 2021-11-04 22:09:23 · 303 阅读 · 0 评论 -
【NET】UDP数据包中checksum计算
# from scapy inet.pyif struct.pack("H", 1) == b"\x00\x01": # big endian checksum_endian_transform = lambda chk: chkelse: checksum_endian_transform = lambda chk: ((chk >> 8) & 0xff) | chk << 8def checksum(pkt): if len(pkt.原创 2021-11-02 23:56:22 · 1094 阅读 · 0 评论 -
【Python】程序设计 填空题解答
解惑python bytes和bytearray、编码和解码list(map(str, [1, 2, 3]))的执行结果为: [‘1’, ‘2’, ‘3’]`;原创 2021-10-24 21:25:05 · 1720 阅读 · 0 评论 -
【Python】中深拷贝与浅拷贝
Python在创造之初,就有一个约定,在对列表调用cop()函数时,如果列表中是直接存放的数值、字符串,那就是深拷贝,会复制出一个新对象;列表中是class实例、列表、字典,那拷贝就是浅拷贝,对拷贝后的修改会影响原对象;因为复制对象和实例所需的内存多,所以默认是浅拷贝;# 对列表对象的浅拷贝l = [[1], [2], [3]]_l = copy(l)_l[0][0] = -1print(_l)print(l)# 对列表对象的深拷贝l = [[1], [2], [3]]_l .原创 2021-10-24 10:24:05 · 158 阅读 · 0 评论 -
【Python】Python字典中的值为list或者dict的构造方法
ReferencePython字典中的值为列表或字典的构造方法原创 2021-10-10 21:35:42 · 785 阅读 · 0 评论 -
【Python】进行环境移植
一版步骤1.在pycharm的terminal中输入pip freeze > requirements.txt,即可生成当前项目使用的所有三方库;2.pip download -r requirements.txt(In previous versions of pip, this was spelled pip install --download -r requirements.txt.),离线下载requerement.txt中的库,不安装;3. 在离线电脑的CMD中,切换至require原创 2021-10-09 16:02:02 · 869 阅读 · 0 评论 -
【python】bat中运行python脚本
@echo offE:cd E:\PythonAutotest\scriptpython mysql_change.pypauseexitpython中存在相对路径时can do well原创 2021-09-28 21:32:47 · 594 阅读 · 0 评论 -
【Python】语言应用
问答题Python中数值类型有整形、浮点型;运算符的表示方法:乘法(*)、幂运算( ),求余(%);/:表示算术除法,包含小数;//:表示整除,不包含小数;运算符优先级:1 括号内优先、2 幂运算、3 乘法、除法、求余;4 加法、减法;5 关系运算符、6 逻辑运算符;字符串与数值转换函数:str()、int()、float()lambda表达式的作用是为了节省函数格式化定义,并减少函数调用的开销四、编程题def main(): infile=open("Uspres.txt", '转载 2021-09-25 22:10:22 · 139 阅读 · 0 评论 -
【Python】Python中struct.pack()
Python中struct.pack()和struct.unpack()用法详细说明转载 2021-09-15 23:51:45 · 1481 阅读 · 0 评论 -
【Python】使用dict报错“unhashable type”
在编码过程中,将一个自定义类作为dict的键值,结果编译器报错“unhashable type”:需要在自定义的类中实现__hash__函数:class A: def __key(self): return (self.attr_a, self.attr_b, self.attr_c) def __hash__(self): return hash(self.__key()) def __eq__(self, other): i原创 2021-09-11 12:27:00 · 1844 阅读 · 0 评论 -
【Python】Scapy库简单用法
sniff函数简单使用# 指定过滤规则,指定抓取包数量sniff(filter="tcp", count=5)# 指定抓包网口sniff(iface="eth0", count=5)# 回调函数sniff(prn=lambada x: x.summary(), count=5)# 将数据包保存到本地capture = sniff(iface='eth0', count=25)wrpcap("GfG.pcap", capture)# 解析离线数据包sniff(offline="G原创 2021-09-11 12:22:43 · 488 阅读 · 0 评论 -
【Python】 操作符重载
# 比较运算符class demo6: def __init__(self, num): self.data = num # < def __lt__(self, other): return self.data < other.data # <= def __le__(self, other): return self.data <= other.data # == def __eq__(self, other): re原创 2021-09-11 11:03:57 · 132 阅读 · 0 评论 -
【Python】从电子表格中读取数据
需求从Excel中读取数据;计算每个县中普查区的数目;计算每个县的总人口数;数据结构州名:{县名:{人口,选区数}}{‘AK’ :{‘Aleutians East’ : {‘pop’ : 3141, ‘tracts’ : 1},…………}}# 导入相关数据包import openpyxl...原创 2021-06-17 23:36:05 · 90 阅读 · 0 评论 -
【Python】windows中直接运行py脚本的方式
条件:1.系统环境变量Path中包含python解释器的路径:C:\Python34\python.exe;2.python脚本中添加停止的代码;新建bat脚本@python.exe C:\path\to\your\pythonScripy.py %*将bat所在文件夹路径添加到系统路径中bat脚本所在的文件夹路径为:C:\MyPythonScripts;将C:\MyPythonScripts添加到系统变量Path的值中;通过Run对话框运行批处理脚本输入快捷键win + R;输原创 2021-06-14 20:37:24 · 3077 阅读 · 3 评论 -
【Python】调试——断言、日志
“断言”是一个完整性的检查,确保代码没有做明显错误的事情。这些完整性的检查由assert完成。assert语句包含的部分assert关键字;条件(即求值为True或False的表达式);逗号;当条件为False时显示的字符串;podBayDoorsStatus = 'open'assert podBayDoorsStatus == `open`, 'The pod bay doors should be open'podBayDoorsStatus = 'close'assert p原创 2021-06-11 00:21:39 · 341 阅读 · 4 评论 -
【Python】脚本调试手段
抛出异常——优雅的处理错误def boxPrint(symbol, wight, height): if len(symbol) != 1: raise Exception('symbol must be a single character string.') if wight <= 2: raise Exception('Wight must be greater 2.') if height <= 2: raise Exception('Height must be g原创 2021-06-08 23:11:12 · 261 阅读 · 1 评论 -
【Python】读取PDF和Word文档
1.Python读取PDF文件安装处理PDF模块# 安装PyPDF2模块pip install PyPDF2提取PDF文本内容import PyPDF2pdfFileObj = open('meetingminutes.pdf', 'rb')pdfReader = PyPDF2.PdfFileReader(pdfFileObj)pdfReader.numPages>>>19pageObj = pdfReader.getPage(0)pageObj = extract原创 2021-06-08 20:57:40 · 598 阅读 · 0 评论 -
【Python】正则表达式——通配字符
通配字符.(句点):匹配除了换行符之外的所有字符;.*(点星):匹配所有字符;用句点字符匹配所有字符:newlineRegex = re.compile('.*', re.DOTALL)newlineRegex.search('abcd\n, dddddd\n').group()'abdc\n, dddddd\n'...原创 2021-05-31 23:26:02 · 842 阅读 · 0 评论 -
【Python】正则表达式贪心和非贪心匹配
贪心和非贪心匹配# 存在二义性时,贪心匹配默认匹配最长的字符串greedyHaRegex = re.compile(r'(Ha){3,5}')mo1 = greedyHaRegex.search('HaHaHaHaHa')mo1.group()>>> 'HaHaHaHaHa'# 非贪心匹配默认匹配最短的字符串nongreedyHaRegex = re.compile(r'(Ha){3,5}?')mo2 = nongreedyHaRegex.search('HaHaHaHa原创 2021-05-27 23:17:44 · 498 阅读 · 0 评论 -
【Python】用正则表达式匹配更多模式
利用括号分组phoneNumRegex = re.compile(r'(\d\d\d)-(\d\d\d-\d\d\d\d)')mo = phoneNumRegex.search('My Number is 415-555-4242.')# 向group()函数传入0或者不传,将返回整个匹配的文本mo.group(1)>>>`415`用管道匹配多个分组'|'管道符号,1.匹配许多表达式中的一个;2.匹配多个模式中的一个;batRegex = re.compile(r'原创 2021-05-24 23:40:41 · 1400 阅读 · 0 评论 -
【python】将字符串转换为double
通过十进制转换函数from decimal import Decimalx = 123.456y = Decimal(x)print(y)通过float()函数转换x = 123.456y = float(x)print(y)原创 2021-05-21 14:14:28 · 19663 阅读 · 0 评论 -
【Python】使用pwilio发送短信
注册twilio账号1.访问链接(https://twilio.com/);2.绑定手机号;3.获取试用号码;4.获取SID和AUTH标志,可在Dashboard页面上找到这些消息;发送短信from twilio.rest import TwilioRestClientaccountSID = '124343'authToken = '12312312'twilioNumber = TwilioRestClient(accountSID, authToken)myTwilioNumber原创 2021-05-21 00:52:18 · 135 阅读 · 0 评论 -
【Python】lxml简单使用
解析带namespace的xml文件# 定义出命名空间nsmap = {'xmlns': "~~~~~~"}# 解析xml文件,获取根节点tree = etree.parse(file_path)root = tree.getroot()# 根据tag,利用xpath获取子节点qports = root.xpath("//xmlns:Book", namespaces=nsmap)# 获取节点属性sss = qports[0].attrib['Name']# 对节点属性进行修改qpo原创 2021-05-19 16:11:17 · 300 阅读 · 0 评论 -
【Python】获取文件名后缀
python中通过endwith()获取文件名后缀:path = "test_user_info.py"bool = path.endswith(".py")print(bool)原创 2021-05-18 15:19:34 · 353 阅读 · 0 评论 -
【Python】发送电子邮件
依赖模块import smtplib发送电子邮件import smtplibsmtpObj = smtplib.SMTP('smtp.example.com', 587)smtpObj.ehlo() # 向邮件服务器打招呼smtpObj.starttls() # 实现加密连接的必须步骤smtpObj.login('bob@example.com', 'passwaord') # 登录SMTP服务器# 发送邮件smtpObj.sendmail('bob@example.com',原创 2021-05-17 23:58:50 · 4770 阅读 · 2 评论 -
【Python】组织文件——shutil模块使用
shutil模块可以让你在Python程序中复制、移动、改名和删除文件。1.1 复制文件和文件夹import shutil os# 复制文件shutil.copy('C:\\spam.txt', 'C:\\deliciout')# 复制文件夹shutil.copytree('C:\\bacon', 'C:\\bacon_backup')1.2文件和文件夹的移动和改名shutil.move('C:\\bacon', 'C:\\eggs')1.3永久删除文件和文件夹# os.ulink原创 2021-05-14 00:29:24 · 164 阅读 · 0 评论 -
【Python】正则表达式的使用
python中,在字符串的第一个引号前加上r,表示原始字符串Python中使用正则表达式的步骤1.用import re导入正则表达式模块;2.用re.compole函数创建一个regex对象(记得使用原始字符串);3.向Regex对象的search()方法传入想查找的字符串。它将返回一个Match对象;4.调用Match对象的group()方法,返回实际匹配文本的字符串。参考:python编程快速上手...原创 2021-05-12 00:07:22 · 117 阅读 · 0 评论 -
【Python】获取notepad窗体内容
WM_GETTEXT message:对于edit control(控件),控件的内容会被复制;对于combo box控件,被复制的内容就是edit control部分的内容;对于button 控件,被复制的text就是button name;对于其他控件,被复制的text就是窗体名称;Rich Edit:如果被复制的文本超过64K,需要使用EM_STREAMOUT or EM_GETSELTEXT message.如果将WM_GETTEXT message发送给 非文本静态控件(比如:a st原创 2021-03-14 16:49:13 · 587 阅读 · 0 评论 -
【Python】获取文件目录
cwd = os.getcwd() # 获取文件路径print(cwd) print(os.path.basename(cwd)) # print(os.path.dirname(cwd))# basename返回path最后的文件名。如果path以/或\结尾,那么就会返回空值。os.path.basename('c:\test.csv')'test.csv'#(这里csv被当作文件名处理了) csv是一个目录os.path.basename('c:\csv')'csv'原创 2021-02-18 15:00:07 · 405 阅读 · 0 评论 -
【Python】“ValueError: Invalid placeholder in string”
错误在使用Python时,通过‘Makefile.template’模板生成Makefile文件时,报错“ValueError: Invalid placeholder in string”原因“Makefile.template”文件中,除了所指定的替换变量外,原始文件中还存在一些$(target)变量$$ is an escape; it is replaced with a single $.Any other appearance of $ in the string will resu原创 2021-02-18 14:38:37 · 1195 阅读 · 0 评论