Могут ли большие скрипты Python использовать DiskSpace? - PullRequest
0 голосов
/ 31 января 2010

ОБНОВЛЕНИЕ: Интересно, что после почти 15 минут у меня, кажется, АВТОМАТИЧЕСКИ восстановлено около 500 МБ. Как это происходит?

Я на Mac OSX 10.5.6 (Leopard). Я написал скрипт на Python для задачи Project-Euler. В моем скрипте был цикл, который повторялся для огромного числа, например 600851475143.

Использовал Vi и Python на терминале Mac.

Я не получил результат даже после 5 минут бега. Я оставил его работать, пока не получится результат. Затем я получил ошибку «Ваш загрузочный диск почти заполнен».

Я был шокирован, увидев, что на моем диске осталось всего лишь 38 МБ, хотя раньше на нем было по крайней мере 1 ГБ. Я сразу расторг "Терминал". Но сейчас я не знаю, как вернуть мою память. (


Может кто-нибудь подсказать, пожалуйста, как восстановить память, использованную для выполнения моего скрипта?


Вот сценарий:

# Program to Find Largest Prime Factor of 600851475143

def isPrime(n):           #Check if Prime or Not
    i,notFactor=2,False
    while i<n:
        if(n%i==0):
            break
        notFactor=True
        i = i+1
    return notFactor

test = 600851475143       #Number to Test
i = test-1

while i>1:                #Finds Factors and See if they are Prime
    print i
    if test%i==0:
        if isPrime(i)==True:  #Syntax Error Fixed. Thanks, batbrat!
            print i
            break
    i=i-1

Ответы [ 3 ]

2 голосов
/ 31 января 2010

Единственный способ, которым ваш скрипт может заполнить ваш диск, - это если он создает большие / много временных файлов и не очищает их. Просто запуск программы на Python сам по себе не может заполнить ваш диск.

Чтобы восстановить дисковое пространство, вам нужно выяснить, где это место потрачено, и удалить временные файлы. Не уверен, как это сделать на OSX, хотя. В Windows и Linux есть несколько отличных инструментов для визуализации использования диска.

РЕДАКТИРОВАТЬ: проблемы Эйлера предназначены для решения в течение минуты, даже на скромно мощных компьютерах. Если вы тратите 5 минут, вы подходите к проблеме неправильно.

0 голосов
/ 31 января 2010

Это не Python, это что-то еще в вашей системе, использующей память ... возможно, ваш браузер.

1 ГБ почти не достаточно свободного места на Mac ... вам нужно как минимум 10 ГБ свободного места, так что пришло время для очистки.

0 голосов
/ 31 января 2010

Сначала я подумал, что ваша программа использует много памяти, что приводит к росту файла подкачки. Однако из кода видно, что он не потребляет много памяти. Поэтому этот сценарий не является причиной потери места.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...