我有一个文本文件,其长度可变('62554'可以是'xxxx'或'xxx')
# cat dsset-domain.com.
domain.com. IN DS 62554 8 1 84988C2B6D3C92F35E1457D3771D0270417622D2
domain.com. IN DS 62554 8 2 EF940E2D5CFAD8B47A699ACCD68A77C43F120774CABCCA5A25443BE3 1D1BEABF
我需要分配给列表变量的第一行的最后4个字符串:
list[0] = 62554
list[1] = 8
list[2] = 1
list[3] = 84988C2B6D3C92F35E1457D3771D0270417622D2
但我没有完全可以使用的分隔符。
切片一行可变长度的字符串并将它们分配为列表元素的最佳方法是什么?
代码:
#!/usr/bin/python
import string
import requests
name = input("Enter the domain to provision DS keys for? ")
url = 'https://www.provider.net/ws/domain/'+name+'/ds'
with open('/usr/local/etc/namedb/dsset-'+name+'.', 'rt') as in_file:
dstext = in_file.read()
print(dstext)
答案 0 :(得分:1)
你可以使用split
蚂蚁拾取最后3项切片:
>>> s="domain.com. IN DS 62554 8 1 84988C2B6D3C92F35E1457D3771D0270417622D2"
>>> s.split()[-3:]
['8', '1', '84988C2B6D3C92F35E1457D3771D0270417622D2']
答案 1 :(得分:0)
fileobject.readline
函数只会获取第一行。
with open('file') as f:
l = []
m = f.readline().split()
l = m[-4:]
print(l)
输出:
['62554', '8', '1', '84988C2B6D3C92F35E1457D3771D0270417622D2']