我有这段代码来检查文件中的索引以查看它们是否匹配,但是开始时我无法选择索引。我必须做什么才能这样做,因为此时它没有显示列表中的值。
def checkOS():
fid = open("C:/Python/NSRLOS.txt", 'r')
fhand = open("C:/Python/sha_sub_hashes.out", 'r')
sLine = fhand.readline()
line = fid.readline()
outdata = []
print line
checkOS()
现在它打印:
"190","Windows 2000","2000","609"
我只想让它打印:(所以 index[0]
)
190
当我尝试 index[0]
时,我只得到 ' "'
。所以整个字符串中的第一个值,我想要一个列表能够选择索引。
最佳答案
尝试使用 line.split(",")
以逗号分隔行,然后通过切片结果去除引号。
例子:
>>> line = '"190","Windows 2000","2000","609"'
>>> sliced = line.split(',')
>>> print sliced
['"190"', '"Windows 2000"', '"2000"', '"609"']
>>> first_item = sliced[0][1:-1]
>>> print first_item
190
...这是整个事情,抽象为一个函数:
def get_item(line, index):
return line.split(',')[index][1:-1]
(当然,这是假设该行中的所有项目都用逗号分隔,它们都用引号引起来,逗号后没有空格(尽管您可以通过这样做来解决这个问题item.strip()
以删除空格。如果引用的项目包含逗号,它也会失败,如评论中所述。)
关于python - 如何创建一个列表来选择索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11398796/