首页
下载
开放接口
关于
Search
1
python离线安装ibm_db模块
213 阅读
2
身份证号码生成规则
102 阅读
3
目录乱码的处理
95 阅读
4
操作符(算术操作符、比较操作符、逻辑操作符)
42 阅读
5
Linux常用命令
41 阅读
默认分类
Python学习
Linux
登录
Search
夜猫子出没
累计撰写
5
篇文章
累计收到
0
条评论
首页
栏目
默认分类
Python学习
Linux
页面
下载
开放接口
关于
搜索到
5
篇与
的结果
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 点赞
2022-10-13
目录乱码的处理
如图所示,有两个乱码目录只进入目录:①如果乱码目录中不存在空格:cd `ls | awk 'NR==1'`NR==1,此处1为ls列出目录的顺序,从1开始②如果乱码目录中存在空格:ls -li #获取目录的inode cd "`find -inum 542016`" #542016是查询出文件的inode号删除目录:ls -li #获取目录的inode find . -inum 542016 -delete #542016是查询出文件的inode号修改目录名称:ls -li #获取目录的inode mv "`find . -inum 112818461`" 123 #112818461是查询出文件的inode号,123新名称
2022年10月13日
95 阅读
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 点赞
2021-11-29
Linux常用命令
1.删除目录下非.sh文件ls |grep -v *.sh |xargs rm ll |grep -v *.sh |xargs rm2.Linux定时器crontab -e输入 0 0,3,6,9,12,15,18,21 * * * sh /icms/clear_tmp_log.sh每个三小时执行一次/icms/clear_tmp_log.sh3.更改系统日期1.更改日期+时间:date -s "14:47:00 2021-10-26" 2.只更改日期不更改时间:date -s "2021-10-26 `date +%T`" 或者 date -s "2021-10-26 $(date +%T)"4.更改文件目录操作① 更改权限 chmod 777 /tmp 如果是目录可以加-R 递归更改 chmod -R 777 /tmp② 更改所有者组 chown icms:icmsgrp /tmp 如果是目录可以加-R 递归更改5.linux去除/r字符sed -i 's/\r//' ./namelist_uplev.sh6.查找当前面目录下pass字符,并且输出所在行数grep -rn "pass" *7.VI命令① 查找和替换 /word 向光标向下寻找一个名称为 word 的字符串 ?word 向光标向上寻找一个字符串名称为 word 的字符串 n 向下寻找查询结果 N 向上寻找查询结果 1,$s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串替换为word2 1,$s/word1/word2/gc 从第一行到最后一行寻找 word1 字符串,并将该字符串替换为word2 且在替换前显示提示字符给用户确认是否要替换 ②删除、复制和粘贴 x, X 在一行字当中,x 为向后删除一个字符 X 为向前删除一个字符 nx n为数字,连续向后删除 n 个字符。例:连续删除 10 个字符 10x dd 删除游标所在的那一整列 ndd n为数字,删除光标所在的向下 n 列,例如 20dd 则是删除 20列 yy 复制游标所在的那一行 nyy n为数字,复制光标所在的向下 n 列,例如 20yy 则是复制20列 y1G 复制光标所在列到第一列的所有数据 yG 复制光标所在列到最后一列的所有数据 y0 复制光标所在的那个字符到该行行首的所有数据 y$ 复制光标所在的那个字符到该行行尾的所有数据 p,P p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 例,目前光标在第20行,且已经复制了10行数据。则按下p 后, 那10行数据会贴在原本的20行之后,亦即由21行开始贴。 但如果是按下P 那么原本的第20行会被推到变成30行 u 还原上次操作 ctrl+r 恢复上次操作 ③保存和离开 :w 将编辑的数据写入硬盘文件 :w! 若文件属性为只读时,强制写入该文件。不过,到底能不能写入, 还是跟你对该文件的权限有关 :q 离开 vi :q! 若曾修改过档案,又不想储存,强制离开 :wq 储存后离开,若为 :wq! 则为强制储存后离开 ZZ 两个大写ZZ,如果有改动则存储后离开,没有改动则不存储离开 :w [filename] 将编辑的数据储存成另一个档案(类似另存新档) :r [filename] 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面 :set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号 :set nonu 与 set nu 相反,为取消行号!8.压缩、解压缩压缩: tar -cvf 打成后的包名 需要打包文件名 解压: tar -xvf XXXX.tar -c 创建新的归档 -C 使 tar 命令向由 Directory 变量指定的目录执行 chdir 子例程 -v 打印处理的文件名 -f 文件名 -x 解压缩 -t 查看tar包内容 -z 使用gzip进行压缩 //慎用-z命令,打包测试账务文件后程序下载到本地解压缩失败 ① 压缩后删除源文件:--remove-files 例:tar -cvf 123.tar *.csv --remove-files ② 对压缩包中的某个文件解压缩:解压命令后面加入需要解压缩的文件名 例:tar -xvf 123.tar open.csv //这样open.csv就被单独解压缩出来了 ③ 打包除了文件外的其他所有文件 --exclude=filename 例:tar -cvf 1234.tar * --exclude=123.tar //打包除了123.tar外的所有文件 ④不解压查看tar文件中名称 例:tar -tvf 123.tar ⑤解压缩文件到指定目录 例:tar -xvf 123.tar -C ./ABC
2021年11月29日
41 阅读
0 评论
0 点赞