通过函数运行文件内容

时间:2018-09-19 21:58:19

标签: python python-2.7

这里编码很新 我正在尝试创建一个程序,该程序将遍历包含数据集的两个文件并查找重叠,并打印出重叠范围。 我得到的2个文件的名称分别为start,stop 例如

在文件1中:

distance 567 890
distance 345 678
distance 123 347
distancex 56 201

在文件2中

distance 456 678
distance 345 678
distance 1000 2000
distancex 1056 2030

因此对于这两个文件,我想测试数字之间是否存在过度实验室。

file1=open('filea.file', 'r')

file2=open('fileb.file', 'r')

lst=[]

for item in file1:
    item = item.split()
    column1 = item[0]
    start1 = item[1]
    stop1 = item[2]
    lst.append(item)
    print item

for item in file2:
    item = item.split()
    column2 = item[0]
    start2 = item[1]
    stop2 = item[2]
    lst.append(item)
    print item



def compare(file1, file2):
    for items in lst:
        if (column1==column2) and (start1>start2) and (stop2>start1) and (stop1>stop2):
            print start1 + "," + stop2
        elif (column1==column2) and (stop2>start1): 
            print "none"
        elif (column1==column2) and (stop1>start2):
            print "none"
        elif (column1==column2) and (start2>start1) and (stop1>start2) and (stop2>stop1):
            print start2 + ","+ stop1
        elif (column1==column2) and (start1>=start2) and (stop2>=stop1):
            print start1 + "," + stop1
        elif (column1==column2) and (start2>=start1) and (stop1>=stop2):
            print start2 + "," + stop2 

运行此命令时,我只会读取文件,而if语句则什么也没有

我想念什么?

1 个答案:

答案 0 :(得分:0)

最重要的是,由于从未调用函数,因此只能读取文件。

在那之后,请注意

  1. 您的函数从不使用您尝试传递的文件
  2. 您无法从文件中读取更多内容;您的主程序已经读取了所有内容
  3. 您没有正确地将三元组放入lst中-循环仅从每条输入行中提取第一个三元组。

我建议您逐步进行工作-使用增量编程。写下几行,确保您具有期望的进度,然后然后继续下一步。在这种情况下,您编写了30行以上的活动代码,但是您的程序无法在前几行中完成您想要的(我认为)。