I've developed a script to randomly select 50 elements from a list of .txt files. This process is repeated 100 times. The script joins the randomly selected text files to one long string and then filters out the longest substring.I want to run this script on a Droplet on Digital Ocean. The server, however, kills the script. When I randomly select only 3 elements, it works. Am I running out of memory? How can I tackle this problem? Here are the files I randomly select items from. And this is my code:# coding: utf-8import globfrom collections import Counterimport pickleimport randomde_list_soz = pickle.load(open('de_list_soz.p', 'rb'))str_seq_list = []for str_seq in range(0,100):      #creating random list    random_list = []    for item in range(0,50):       list_item = random.choice(de_list_soz)       random_list.append(list_item)    #creating long string    long_str = ''    for de in random_list:        input_file = open('txt_sr_de/txt_sr_de/' + de, 'r')        text = input_file.read()        text = text.replace('\n', ' ').replace('\xa0', '').replace('  ', '')        #Removing these automated notifications        text = text.replace('Wichtiger Hinweis:Diese Website wird in lteren Versionen von Netscape ohne graphische Elemente dargestellt. Die Funktionalitt der Website ist aber trotzdem gewhrleistet. Wenn Sie diese Website regelmssig benutzen, empfehlen wir Ihnen, auf Ihrem Computer einen aktuellen Browser zu installieren.Zurck zur Einstiegsseite Drucken Grssere Schrift', '')        text = text.replace('Vorwrts hnliche Leitentscheide suchenhnliche Urteile ab 2000 suchen Drucken nach oben', '')        text = text.replace('Bundesgericht Tribunal fdral Tribunale federale Tribunal federal', '')        text = text.replace('Navigation Neue Suche Zurck zum Suchresultat Rang: Zurck 180', '')        text = text.replace('Navigation Neue Suche Zurck zum Suchresultat Rang:1 hnliche Leitentscheide suchenhnliche Urteile ab 2000 suchen Drucken nach oben', '')        text = text.replace('  ', ' ')        long_str = long_str + text    times=3    for n in range(1,int(len(long_str)/times+1)):        substrings=[long_str[i:i+n] for i in range(len(long_str)-n+1)]        freqs=Counter(substrings)        if freqs.most_common(1)[0][1]<3:            n-=1            break        else:            seq=freqs.most_common(1)[0][0]    str_seq_list.append(seq)pickle.dump(str_seq_list, open('SOZIALRECHT_DE.p', 'wb'))
Sampling words from randomly chosen text files
python;random;file;memory optimization