我正在尝试对文件中的列表进行排序,但收到此错误:
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)
最佳答案
要打开文件,请使用:
f = open('lista.txt', 'r')
改用上下文管理器:
with open('lista.txt', 'r') as f:
long_string = f.readline()
my_list = long_string.split(',')
....
上下文管理器方法将自动关闭文件。在写入文件时尤其如此,但这也是最佳实践。
关于Python从文件中读取列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43836991/