16进制转2进制
代码语言:javascript复制> bin(0x5)[2:]
'101'
> bin(0x5)[2:].zfill(4)
'0101'
倒序输出
代码语言:javascript复制> bin(0x5)[2:].zfill(4)
'0101'
> bin(0x5)[2:].zfill(4)[::-1]
'1010'
eval() 函数
代码语言:javascript复制###eval()函数用来执行一个字符串表达式,并返回表达式的值
> x=7
> eval('x*3')
21
> a='abc'
> for i in range(len(a)):
print eval('0x' a[i])
10
11
12
gmpy2 求整数解
代码语言:javascript复制# gmpy2.iroot(a,b) a开b次方,返回一个xy元组,y=1的话结果是整数
> import gmpy2
> x=18
> y=9
> i=0
> while 1:
if(gmpy2.iroot(x i*y,2)[1]==1):
print gmpy2.iroot(x i*y,2)
break
i=i 1
(mpz(6), True)
libnum库
- 数字型(不论是十六进制还是十进制)与字符串之间的转换:
> import libnum
> s='flag{2333}'
> print libnum.s2n(s)
483680648326664261153661
> n=483680648326664261153661
> print libnum.n2s(n)
flag{2333}
- 二进制与字符串之间的转换:
> import libnum
> b='0100110001111001011100100110100101100011'
> print libnum.b2s(b)
Lyric
> s='Lyric'
> print libnum.s2b(s)
0100110001111001011100100110100101100011
binascii模块
- binascii可用来进行进制和字符串之间的转换
> import binascii
> s='abcde'
> h=binascii.b2a_hex(s) # 字符串转16进制 '6162636465'
> h=binascii.hexlify(s) # 作用同上
> s=binascii.a2b_hex(h) # 16进制转字符串 'abcde'
> s=binascii.unhexlify(h) # 作用同上
python文件读写
- readline方法 :每次读取一行内容,返回一个字符串对象
> f=open('233.txt')
> while 1:
a=f.readline()
if a:
print a
else:
break
233
233
233
由于文档中换行,在读取是会读取换行符'n'
,所以显示出来会有一行空行,每隔一行显示内容
- readlines方法 : 一次性读取整个文件,并将每行内容返回列表中一个元素
> f=open('233.txt')
> a=f.readlines()
> print a
['233n', '233n', '233n']
由于文档中换行,所以会读取换行符'n'
,下述去掉换行符的方法
- strip() 函数:可以去掉每行结束的
'n'
> f=open('233.txt')
> while 1:
a=f.readline().strip()
if a:
print a
else:
break
233
233
233
代码语言:javascript复制for line in file.readlines():
line=line.strip('n')
声明:s为字符串,rm为要删除的字符序列
代码语言:javascript复制 ① s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列的字符
② s.lstrip(rm) 删除s字符串中开头处,位于 rm删除序列的字符
③ s.rstrip(rm) 删除s字符串中结尾处,位于 rm删除序列的字符
注意:当rm为空时,默认删除空白符(包括'n', 'r', 't', ' ')
- write() 方法:
f=open('132','w')
f.write('123')
f.write('n') # 换行写入文件
f.close()
index()方法
- 描述:用于检测字符串中子字符串位置,若能找到则返回下标,找不到则返回错误信息
- 语法:
str.index(str, beg=0, end=len(string))
- str:指定检索的字符串
- beg:开始索引位置,默认为0
- end:结束索引位置,默认为字符串长度
- 实例
> str1 = "this is string example....wow!!!"
> str2 = "exam"
> print str1.index(str2)
15
> print str1.index(str2, 10)
15
> print str1.index(str2, 40)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
字典返回值
代码语言:javascript复制> dict = {1:'a', 2:'b'}
> print list(dict.keys()) # key 列表
[1,2]
> print list(dict.values()).index('a') # 对应的序号下标
0
> print list(dict.keys())[list(dict.values()).index('a')] # 对应的列表值
1