我正在读取一个文件,其中每一行都包含一个二进制字符串,例如 01000000 00001000 00000000 11111111
,以及一个数字(0 或 1),在与该二进制字符串对应的二进制字符串后面有两个空格。因此,示例行如下所示:
01000000 00001000 00000000 11111111 0
我希望我的程序输出以下内容:
['01000000', '00001000', '00000000', '11111111']
['0']
这是我现在的代码:
def main():
f=open('file.txt', 'r').readlines()
for line in f:
words = line.split(" ", 1)
wordsList=list(words)
for i in range(0, len(wordsList)-1):
binary = wordsList[i:i+1]
link = wordsList[i+1:i+2]
print(binary)
print(link)
main()
现在,当我运行它时,程序返回以下内容:
['01000000 00001000 00000000 1111111']
['0']
我在这里缺少什么?
您应该分割整行,然后切掉最后的数字。
要分割线,请使用line.split()
。默认参数就可以正常工作。
为了对结果数组进行切片,line[:-1]
会抓取直到最后一个元素(但不包括)的所有元素。 line[-1:]
获取最后一个元素。
示例程序:
def main():
with open('file.txt') as f:
for line in f:
line = line.split()
binary = line[:-1]
link = line[-1:]
print(binary)
print(link)
if __name__ == "__main__":
main()
我是一名优秀的程序员,十分优秀!