如何创建列表来选择索引?

Fer*_*and 1 python indexing list

我有这个代码来检查文件中的索引,看看它们是否匹配,但是开始时我无法选择索引.为了能够这样做,我该怎么做,因为此时它不会将值显示为列表中的值.

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()
Run Code Online (Sandbox Code Playgroud)

现在它打印:

"190","Windows 2000","2000","609"
Run Code Online (Sandbox Code Playgroud)

我只想打印:(所以index[0])

190
Run Code Online (Sandbox Code Playgroud)

当我尝试时index[0],我得到了' " '.所以整个字符串中的第一个值,我希望列表能够选择索引.

Mic*_*x2a 5

尝试使用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
Run Code Online (Sandbox Code Playgroud)

......这就是整个事情,抽象成一个函数:

def get_item(line, index):
    return line.split(',')[index][1:-1]
Run Code Online (Sandbox Code Playgroud)

(当然,这是假设行中的所有项都用逗号分隔,它们都用引号括起来,逗号后面没有空格(尽管你可以通过item.strip()删除空格来处理它)如果引用的项目包含逗号,它也会失败,如评论中所述.)

  • 对于包含逗号的带引号的字符串失败. (2认同)