2016-03-02 5 views
0

У меня возникли проблемы с сохранением нескольких вещей в файле. Я хотел бы сохранить все, что было напечатано в цикле for, в файл. Я бы удалил инструкцию print и просто сохранил файл. Файл, который я читаю, составляет около 10 000 целых чисел. Ниже приведен файл .txt, который я читаю.Сохранение файла несколько результатов в Python

http://nyx.net/~bcohen/CS2050/hw3a.txt

def hashing(buck, file): 
    y = len(file) 
    size = int(y/buck)  # Size of Buckets 
    nums = file 
    lst = [set([]) for i in range(buck)] 
    for i in range(y): 
     z = nums[i] % buck 
     val = nums[i] 
     lst[z].add(val) 

    return lst 

#******************************************************************* 

def reading(): 
    filename = input("What is the file name ") 
    file = open(filename, "r") 
    int_list = [] 
    for i in file.read().split(): 
     int_list.append(int(i))  

    return int_list 

#******************************************************************* 
data = reading() 
print("The file has ",len(data),"Elements") 
buckets = int(input("How many buckets will be used? ")) 
hashed = hashing(buckets,data) 

for i in range(buckets): 
    print("Size of bucket #",i,"is equal to ",len(hashed[i])) 


#file = open("Results.txt", "w") 

#file.write() 

#file.close() 

ответ

0

Если я правильно понимаю:

file = open("Results.txt", "w") 
for i in range(buckets): 
    hashed = hashing(buckets[i],data) 
    file.write("Size of bucket #" + str(i) + "is equal to " + str(len(hashed[i])) + '\n') 

file.close() 
+0

Вам нужно немного больше логики, чтобы превратить прежние 'print' параметры в одну строку. Кроме того, вы можете передать 'file = file' в качестве параметра ключевого слова для' print', вместо использования 'file.write'. – Blckknght

+0

Мне просто пришлось удалить хеширование [i] хэширования (ведра [i], данные), и это сработало. спасибо за помощь –

Смежные вопросы