2017-05-07 11 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(',') 
    .... 

コンテキストマネージャのアプローチは、自動的にファイルを閉じます。これは特にファイルを書くときに当てはまりますが、ここでもベストプラクティスです。この1と

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

0

この行を置き換え

f= open('lista.txt', 'r') 
関連する問題