Почему я получаю те же результаты при запуске программы на C с моим скриптом Python - PullRequest
0 голосов
/ 02 июля 2019

У меня есть программа на C, которую я запускаю со скриптом Python, и на выходе получается текстовый файл, содержащий случайные значения (определенным образом).Но когда я запускаю свою программу несколько раз в цикле, я получаю один и тот же выходной текстовый файл каждый раз (или 2 разных текстовых файла из 100)

import subprocess
import time

start = time.time()

ntrial = input("How many trials? ")
for i in range(int(ntrial)):
    cmd = ["/Users/stordd/Desktop/StageI2M/C/forestenostre/grezza_foresta", "-w",
           "/Users/stordd/Desktop/StageI2M/Leiden/text_file/USA.txt", "-m", "5", "-e", "-0"]
    # Open/Create the output file
    outFile = open("/Users/stordd/Desktop/StageI2M/Leiden/k5/{}.txt".format(i), 'ab')

    result = subprocess.Popen(cmd, stdout=subprocess.PIPE)
    out = result.stdout.read()

    outFile.write(out)
    outFile.close()

end = time.time()
print(end - start)

1 Ответ

1 голос
/ 02 июля 2019

Вы, вероятно, инициализируете свой генератор случайных чисел с seed на основе времени в секундах. Таким образом, если вы запустите программу с тем же начальным числом, вы получите те же случайные значения.

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