Пока у меня есть следующее:
from genrate_jsonv2 import ConfigurationHandler
import os
import argparse
def get_json_location(username=os.getlogin()):
first = "/Users/"
last = "/Desktop/data-code/Testdata"
result = first + username + last
return result
def get_config():
parser = argparse.ArgumentParser()
parser.add_argument("-d", "--export-date", action="store", required=True)
args = parser.parse_args()
return [args.export_date]
yml_directory = os.listdir('yaml')
yml_directory.remove('export_config.yaml')
data = get_config()[0]
def main():
for yml in yml_directory:
parameter_file = get_json_location
export_data_file = yml
new_export_date = data
conf_handl = ConfigurationHandler(parameter_file, export_data_file, new_export_date)
configuration = conf_handl.get_config()
conf_handl.json_work()
if __name__ == '__main__':
main()
Проблема в том, что в файле export_data_file я действительно не хочу передавать местоположение file_path, я предпочитаю, чтобы он просматривал каждое имя файла в каталог yml. При этом я получаю сообщение об ошибке «Ошибка чтения файла конфигурации»
.Это, конечно, возможно, поскольку RNG может комбинировать машину определенные данные с семенем, таким как адрес сетевой платы, для генерации случайного числа. Это - в основном конкретная реализация.
Если Вам нужно что-то, что может быть повторено с машины на машину, попробовать Библиотеку Случайного числа Повышения.
Поскольку они действительно дают различные результаты, очевидно возможно, что они дают различные результаты. Легкий к ответу вопрос, затем!
Серьезно: не зная исходный код к RNG трудно знать, наблюдаете ли Вы ошибку или функцию. Но это кажется, что рассматриваемое RNG использует посеяное под вторым номером от где-то в другом месте, например, текущее время или некоторое аппаратно-зависимое значение как MAC-адрес сетевой платы.
Если это - псевдослучайный генератор, который использует только семя для создания последовательности числа, то по определению они не могут отличаться. Однако, если те, которых Вы используете, используют что-то зависимый машины для беспокойства семени, или вполне просто, другой алгоритм, это, конечно, довольно возможно. Какую реализацию Вы используете, и если это - стандартная реализация библиотеки, действительно ли они - оба та же версия?
Да. Существуют RNGs с плавающей точкой, например, чьи результаты могут зависеть от того, реализует ли Ваш ЦП правильно плавания IEEE (не guranteed в ISO C++). Кроме того, эффекты, такие как проливание 80 битов удваиваются до памяти, может влиять на результаты.
Существует также некоторый possibile беспорядок о понятии "семени". Некоторые люди определяют семя как весь вход для установки начального состояния RNG. Другие ограничивают его только явным входом в коде и исключают неявный вход из, например, источники HW или/dev/random.
Это зависит значительно, на котором RNG Вы используете. Вещи такие как random(3)
или rand48(3)
семейство разработано для возврата той же последовательности, когда выполнено с тем же семенем. Теперь, если RNG, которые Вы используете, берут /dev/random
вывод, все ставки выключены, и результаты будут отличаться.
Возможно, это - мало/обратный порядок байтов проблемы, или код обнаруживает процессор в некотором роде. Самый легкий способ сделать это должно было бы использовать точки останова или подобные стандартные программы отладки для наблюдения стандартных программ отбора и самого RNG на работе.