最近科研遇到这样一个需求:把list里的字符串转化为整数:
例如:
list=['1','2','3','4','5']
转化为:
list=[1,2,3,4,5]
在产生200位bit的随机二进制秘钥,这些秘钥都是保存在txt格式的文本中的,文本中的数据格式如下所示:
我现在需要把这些秘钥都读取出来,并且每个秘钥的后面要用逗号隔开,
bits=[1,1,0,1,0,0,1,1,0,1,1,1,1,1,1,1,0,1,0,1,1,1,1,0,1,1,0,1,0,1,0,1,1,0,1,
1,1,0,1,0,0,0,0,1,0,1,1,1,1,0,0,0,0,1,0,1,0,1,1,0,1,1,1,0,0,0,0,1,0,1,0,1,1,
1,0,0,1,1,1,1,1,1,0,1,1,1,1,0,1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1,1,0,0,1,
1,1,1,1,1,1,1,1,1,0,0,0,1,0,0,0,0,0,1,1,1,0,1,0,0,1,0,0,0,0,1,1,1,1,0,0,1,1,
1,0,0,0,1,0,1,1,0,0,0,0,0,1,0,0,0,1,1,1,1,0,1,0,1,1,0,0,0,1,0,0,1,1,1,0,0,1,
1,1,0,0,1,0,1,1,1,1,0,1,1,1,0,0,0,1,1,0,1,1,1,0,1,1,0,1,0,0,1,1,1,1,1,1,1,1,
1,1,0,0,1,0,0,0,1,1,1,1,0,1,1,0,0,1,0,0,1,1,1,1,0,1,1,1,0,0,1,0,1,0,1,1,1,0,
0,0,1,0,0,1,1,0,0,1,1,1,0,0,1,0,1,0,1,1,0,1,1,1,1,1,0,1,0,1,0,1,1,1,0,1,1,1,
1,0,0,0,0,0,1,1,1,1,1,1,1,0,0,1,0,1,1,0,0,0,1,1,1,1,0,1,0,1,1,0,0,1,1,1,1,1,
0,1,1,0,1,0,1,0,1,1,1,0,1,0,0,1,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,0,1,1,1,1,0,0,1,0]
然后用python来处理这些数据 ,所以现在问题就在于怎么把数据从txt文件中读取出来,然后保存成上面这个样子。
发现一个问题,就是直接使用file.readlines()这个方法读取出来的不是自己想要的结果:如下:
file = open('D:\\123.txt')
lines = file.readlines()
print(lines)
上面代码执行结果如下:显然不是我想要的
看上面的代码,我们发现有下面几个问题:
①包含字符串' '
②最后多了一个\n
那么就要解决掉这些问题: 代码如下
#读取文件
file = open('D:\\123.txt')
lines = file.readlines()
# print(lines)
strr=''.join(lines)
bits=[]
for line in strr:
for ind in line:
# ts=int(ind)
bits.append(ind)
bits.remove('\n')
for index,item in enumerate(bits):
bits[index]=eval(item)
print(bits)
执行结果如下:
达到了自己想要的结果。