2017-05-07 41 views
1

我想排序從文件列表清單,但我得到這個錯誤:的Python從文件中讀取

Traceback (most recent call last): 
    File "/Users/MacbookPro/Documents/Faculta/alg sortare pyth/bubble.py", line 13, in <module> 
    f = file.open('lista.txt', 'r') 
AttributeError: type object 'file' has no attribute 'open' 

這是我的代碼:

from timeit import default_timer as timer 
import resource 
start = timer() 
def bubbleSort(alist): 
    for passnum in range(len(alist)-1,0,-1): 
     for i in range(passnum): 
      if alist[i]>alist[i+1]: 
       temp = alist[i] 
       alist[i] = alist[i+1] 
       alist[i+1] = temp 


f = file.open('lista.txt', 'r') 
long_string = f.readline() 
my_list = long_string.split(',') 
bubbleSort(alist) 
print(alist), resource.getrusage(resource.RUSAGE_SELF).ru_maxrss/1000 
end = timer() 
print(end - start) 

回答

2

打開文件使用:

f = open('lista.txt', 'r') 

使用情況管理器來代替:

with open('lista.txt', 'r') as f: 
    long_string = f.readline() 
    my_list = long_string.split(',') 
    .... 

上下文管理器方法會自動關閉文件。編寫文件時尤其如此,但這裏也是最佳實踐。

0

替換此行:

f = file.open('lista.txt', 'r') 

這一個:

f= open('lista.txt', 'r')