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],我得到了' " '.所以整个字符串中的第一个值,我希望列表能够选择索引.
尝试使用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()删除空格来处理它)如果引用的项目包含逗号,它也会失败,如评论中所述.)