在python3.4中为列表元素指定可变长度字符串的最佳方法

时间:2015-03-08 08:42:57

标签: python string list elements

我有一个文本文件,其长度可变('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)

2 个答案:

答案 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']