From 471ea59bb2a0ef80b5f36c1ef682e83daa1665a9 Mon Sep 17 00:00:00 2001 From: Joseph Lizier Date: Wed, 20 May 2020 23:46:55 +1000 Subject: [PATCH] Adding utilities for writing text files in python (can be done with numpy, but just making something quick my way) --- demos/python/writeFloatsFile.py | 33 +++++++++++++++++++++++++++++++++ demos/python/writeIntsFile.py | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 demos/python/writeFloatsFile.py create mode 100644 demos/python/writeIntsFile.py diff --git a/demos/python/writeFloatsFile.py b/demos/python/writeFloatsFile.py new file mode 100644 index 0000000..479d457 --- /dev/null +++ b/demos/python/writeFloatsFile.py @@ -0,0 +1,33 @@ +## +## Java Information Dynamics Toolkit (JIDT) +## Copyright (C) 2020, Joseph T. Lizier +## +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see . +## + +def writeFloatsFile(filename, array): + "Write a 2D array of floats to a given file" + with open(filename, "w") as f: + # Space separate numbers, one time step per line, each column is a variable + for row in array: + # write all rows + first = True; + for column in row: + if (not(first)): + f.write(" "); + f.write("%f" % column) + first = False; + f.write("\n") + f.close() + diff --git a/demos/python/writeIntsFile.py b/demos/python/writeIntsFile.py new file mode 100644 index 0000000..5513445 --- /dev/null +++ b/demos/python/writeIntsFile.py @@ -0,0 +1,33 @@ +## +## Java Information Dynamics Toolkit (JIDT) +## Copyright (C) 2020, Joseph T. Lizier +## +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see . +## + +def writeIntsFile(filename, array): + "Write a 2D array of ints to a given file" + with open(filename, "w") as f: + # Space separate numbers, one time step per line, each column is a variable + for row in array: + # write all rows + first = True; + for column in row: + if (not(first)): + f.write(" "); + f.write("%d" % column) + first = False; + f.write("\n") + f.close() +