使用Python创建文件中存在的数字列表

时间:2015-07-30 18:47:19

标签: python parsing

我有一个包含单词和数字列表的文件。我想要做的是创建一个介于0和之间的数字列表,这些数字不包含在此文件中。

我试过以下无济于事:

#!/usr/bin/python

import sys

PATH_TO_FILE = "C:\\Path\\To\\My\\File"

file = open( PATH_TO_FILE, "r")

open_numbers = list(range(0,10500))
used_numbers = []
for lines in file.readlines():
    lines = lines.replace(',', '')

    number = [int(s) for s in lines.split() if s.isdigit()]
    print number
    if number in open_numbers:
        open_numbers.remove(number)
        print lines
        print number

print open_numbers

我的列表只包含最大范围而不删除数字

该文件是C文件的宏列表。参数使用唯一值,我想找出我仍然可以使用的值 样本数据:

MACRO(PARAM1, PARAM2, VALUE, PARAM) //ie MACRO(somefunc, "string id", 200, "string")
...(20k file)

1 个答案:

答案 0 :(得分:1)

number = [int(s) for s in lines.split() if s.isdigit()]
例如,

生成数字列表...... [2,7,8]。 open_numbers.remove(number)正试图从列表中删除列表,这不是预期的影响。代替

numbers = [int(s) for s in lines.split() if s.isdigit()]
for number in numbers:
    if number in open_numbers: ...