2016-06-30 37 views
-1

我在編碼中遇到了這個錯誤,我不確定它是什麼意思。代碼使用不同的文件來比較第四列,並檢查它們是否相同。我對使用Python進行編碼非常陌生,我有一週的經驗。任何幫助深表感謝。ValueError:關閉文件上的I/O操作(使用兩個txt文件)

from tkFileDialog import askopenfilename 
from astropy.io import ascii 



a = askopenfilename() 
b = askopenfilename() 

def comp_files(a,b): 
    f1 = ascii.read(a) 
    f2 = ascii.read(b) 
    for r in f1: 
     for s in f2: 
      if r[3] == s[3]: 
       print r[3], s[3] 

回答

1

會結束後其documentationtkFileDialog.askopenfilename似乎並沒有真正打開該文件,所以你應該在你自己打開它。

a = askopenfilename() 
b = askopenfilename() 

with open(a) as file_a, open(b) as file_b: 
    comp_files(file_a, file_b) 

似乎tkFileDialog.askopenfilename期望字典作爲參數,所以你應該驗證你的用法。

相關問題