首页
下载
开放接口
关于
Search
1
python离线安装ibm_db模块
213 阅读
2
身份证号码生成规则
102 阅读
3
目录乱码的处理
94 阅读
4
操作符(算术操作符、比较操作符、逻辑操作符)
42 阅读
5
Linux常用命令
41 阅读
默认分类
Python学习
Linux
登录
Search
夜猫子出没
累计撰写
5
篇文章
累计收到
0
条评论
首页
栏目
默认分类
Python学习
Linux
页面
下载
开放接口
关于
搜索到
3
篇与
的结果
2023-06-06
python离线安装ibm_db模块
1.下载ibm_db模块下载地址:https://pypi.tuna.tsinghua.edu.cn/simple/ibm-db/2.下载对应系统的驱动:window 32位系统window 64位系统Linux 64位系统3.解压缩ibm_db模块,再解压驱动放入解压缩后的ibm_db目录4.在ibm_db目录中执行安装命令: python setup.py install 等待安装完成。报错解决 :1.运行程序报错:FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'C:\soft\Python\lib\site-packages\ibm_db-3.1.4-py3.10.egg\clidriver\bin'解决方法:把驱动放到 C:\soft\Python\lib\site-packages\ibm_db-3.1.4-py3.10.egg目录下即可2.连接或者查询报错 DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704 解决方法:检查currentschema参数正确性,参数是在dsn中例如:ibm_db_dbi.connect(dsn='PORT=60000;PROTOCOL=TCPIP; CURRENTSCHEMA=CBUSPRG2 ', user='db2look2', password='Db2look2$',host='7.26.68.1', database='cbusdb',conn_options=None)
2023年06月06日
213 阅读
0 评论
0 点赞
2023-04-25
操作符(算术操作符、比较操作符、逻辑操作符)
算术操作符操作符含 义示例运算结果**指数运算2 ** 24%取模运算14 % 42//整除/地板除运算13 // 81/除法运算13 / 81.625*乘法运算8 * 216−减法运算7 − 16+法运算2 + 241.两个数相除时,会有一个商和一个余数。商就是除法运算的结果,余数即剩下的值。取模操作符返回的就是余数。例如,13 除以 5 的结果就是商 2 余 3例:>>> 13 // 5 结果:2 >>> 13 % 5 结果:32.对两个数取模时,如果没有余数(返回 0),则被取模的数字为另一个数字的倍数。如果有余数,则不是其倍数。因此取模运算被用于检验数字的奇偶性。例:>>> 12 % 2 结果:0 >>> 11 % 2 结果:1运算顺序:括号的优先级大于指数符号,指数符号又优先于乘法和除法,最后才是加法和减法。比较操作符比较操作符是 Python 中的另一种操作符。与算术操作符类似,比较操作符可用于表达式任意一侧的操作数;不同的是,带有比较操作符的表达式最后求值的结果不是 True 就是 False。操作符含 义示例运算结果>大于100 > 10True<小于100 < 10False>=大于或等于2 >= 2True<=小于或等于1 <= 4True==等于6 == 9False!=不等于3 != 2True逻辑操作符操作符含 义示例运算结果and与True and TrueTrueor或True or FalseTruenot非not TrueFalse运算顺序:or优先级大于and, and又优先于not1.关键字 and 可以连接两个表达式,如果二者均求值为 True,则返回 True。如果任意一个的值为 False,即返回 False:例:>>> 1 == 1 and 2 == 2 结果:True >>> 1 == 2 and 2 == 2 结果:False2.关键字 or 可连接两个或多个表达式,如果任意一个表达式的值为 True,即返回 True:例:>>> 1 == 1 or 1 == 2 结果:True >>> 1 == 2 or 2 == 1 结果:False #以在一个语句中多次使用 or 关键字 >>> 1 == 1 or 1 == 2 or 1 == 3 结果:True3.关键字 not 放置在表达式的前面,将改变表达式的求值结果,逆转为原本结果的对立值。如果表达式原本的求值结果为 True,则加上 not 之后结果会变为 False:例:>>> not 1 == 1 结果:False >>> not 1 == 2 结果:True
2023年04月25日
42 阅读
0 评论
0 点赞
2021-12-08
身份证号码生成规则
证件号码规则:18位身份证号码:1~6位:地址码,7~14位:生日码,15~17位:顺序码,18位:校验码。地址码:1-2位代表:省、自治区、直辖市、特别行政区。3-4位代表:市、地区、自治州、盟、直辖市所辖市辖区/县汇、省(自治区)直辖县级行政区。5-6位代表:县、自治县、县级市、旗、自治旗、市辖区、林区、地区辖特区。 具体数值可以参考《中华任命共和国行政区划代码(GB T2260)》。生日码:以YYYYMMDD格式代表。顺序码:表示同一地区对同年同月同日生的人编定的顺序号,其中:奇数分配给男性,偶数分配给女性。也就是说身份证号码第17位的奇偶数代表了性别。校验码:1、将身份证前17位数分别乘以以下对应的17个系数: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 22、将17位数与上述的系数相乘,然后相加求和。3、将所得的和除以11,获得余数。4、余数为0~10这11个数中的一个,0~10 分别对应为 1 0 X 9 8 7 6 5 4 3 2。 所以,如果余数是2,身份证最后一位就是罗马数字X;如果余数是3,身份证最后一位就是9。15位身份证号码各位的含义:1、1-2位省、自治区、直辖市代码;2、3-4位地级市、盟、自治州代码;3、5-6位县、县级市、区代码;4、7-12位出生年月日,YYMMDD格式代表,比如670401代表1967年4月1日,与18位的第一个区别;5、13-15位为顺序号,其中15位男为单数,女为双数;{collapse}{collapse-item label="Python代码实现随机18位合法证件号"}def createID(): #创建地址码列表 str1_6 = ["110101", "150422", "120101", "130101", "330101", "440101", "440113", "441201", "340101", "340201", "450101", "150101", "150401", "150423", "150602", "150801", "152501", "152921", "370729", "370728"] #创建年份前三位列表 str7_9 = ["195", "196", "197", "198"] #创建身份证前17位数对应的17个系数 coefficientArray = ["7", "9", "10", "5", "8", "4", "2", "1", "6", "3", "7", "9", "10", "5", "8", "4", "2"] #创建校验码列表 MapArray = ["1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"] #随机年份的最后一位 str10 = str(randint(1, 9)) #随机月份,单数字用zfill方法在前面补0 str11_12 = str(randint(1, 12)).zfill(2) #随机日 str13_14 = str(randint(1, 27)).zfill(2) #随机一个3位随机码(不区分性别) str15_17 = str(randint(1, 999)).zfill(3) #随机地址码的一个位置,用来取地址码,由于列表是从0开始的所以要减1,用len是为了随时获取列表的长度 m = randint(0, len(str1_6) - 1) #随机年份前三位列表的一个位置 n = randint(0, len(str7_9) - 1) #拼接起来前17位 tempStr = str1_6[m] + str7_9[n] + str10 + str11_12 + str13_14 + str15_17 total = 0 #循环17位长度,取出每一位去乘对应的系数加起来的和放到total里面 for i in range(len(tempStr)): total = total + int(tempStr[i]) * int(coefficientArray[i]) #循环结束后获得每个字段乘系数的和后除以11的余,再从校验码列表取到余对应的码值 parityBit = MapArray[total % 11] #拼接前17位加校验码合并成完整的18位证件号 ResultIDCard = tempStr + parityBit return ResultIDCard{/collapse-item}{collapse-item label="Python代码实现身份证18位15位互转"}# -*- coding: utf-8 -*- # 有时候你得多想想 # @Created: # @Time: 2021/12/8 16:47 def cer_no(old_no): old_no = str(old_no) if len(old_no) == 18: new_no = old_no[0:6] + old_no[8:17] elif len(old_no) == 15: coefficientArray = ["7", "9", "10", "5", "8", "4", "2", "1", "6", "3", "7", "9", "10", "5", "8", "4", "2"] MapArray = ["1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"] tempStr = old_no[0:6] + '19' + old_no[6:15] total = 0 for i in range(len(tempStr)): total = total + int(tempStr[i]) * int(coefficientArray[i]) parityBit = MapArray[total % 11] ResultIDCard = tempStr + parityBit new_no = ResultIDCard else: new_no = '非18位或者15位证件号不能转换,请确认证件号码位数!!!' return new_no{/collapse-item}{/collapse}
2021年12月08日
102 阅读
0 评论
0 点赞