> bin(0x5)[2:]
'101'
> bin(0x5)[2:].zfill(4)
'0101'
> bin(0x5)[2:].zfill(4)
'0101'
> bin(0x5)[2:].zfill(4)[::-1]
'1010'
###eval()函数用来执行一个字符串表达式,并返回表达式的值
> x=7
> eval('x*3')
21
> a='abc'
> for i in range(len(a)):
print eval('0x'+a[i])
10
11
12
# 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)
> 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
> 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) # 作用同上
> f=open('233.txt')
> while 1:
a=f.readline()
if a:
print a
else:
break
233
233
233
由于文档中换行,在读取是会读取换行符'\n'
,所以显示出来会有一行空行,每隔一行显示内容
> f=open('233.txt')
> a=f.readlines()
> print a
['233\n', '233\n', '233\n']
由于文档中换行,所以会读取换行符'\n'
,下述去掉换行符的方法
'\n'
> f=open('233.txt')
> while 1:
a=f.readline().strip()
if a:
print a
else:
break
233
233
233
for line in file.readlines():
line=line.strip('\n')
声明:s为字符串,rm为要删除的字符序列
① s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列的字符
② s.lstrip(rm) 删除s字符串中开头处,位于 rm删除序列的字符
③ s.rstrip(rm) 删除s字符串中结尾处,位于 rm删除序列的字符
注意:当rm为空时,默认删除空白符(包括'n', 'r', 't', ' ')
f=open('132','w')
f.write('123')
f.write('\n') # 换行写入文件
f.close()
str.index(str, beg=0, end=len(string))
> 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
> 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