.. _ropen: Open and Write to Files (Obsolete) ---------------------------------- .. function:: ropen Syntax: ``h.ropen("infile")`` ``h.ropen()`` Description: ``h.ropen("infile")`` opens *infile* for reading. A subsequent ``h.ropen()`` with no arguments closes the previously opened *infile*. A file which is re-opened with ``ropen(infile)`` positions the stream at the beginning of the file. Example: .. code-block:: python ########################################### ### create a file titled "file.dat" with: # ### 42 13.7 # ### 14 64.1 # ### 12 9 # ########################################### from neuron import h, gui def r_open(ndat): h.ropen("file.dat") x = [] y = [] for i in range(ndat): x.append(h.fscan()) y.append(h.fscan()) h.ropen() return x, y # ndat is number of data points ndat = 3 x, y = r_open(ndat) Diagnostics: This function returns 0 if the file is not successfully opened. .. seealso:: :ref:`read `, :func:`fscan`, :func:`getstr`, :class:`File` .. warning:: There is no way to open more than one read file at a time. The same is true for write files. ---- .. function:: wopen Syntax: ``h.wopen("outfile")`` ``h.wopen()`` Description: ``h.wopen()`` is similar to ``h.ropen()`` but opens a file for writing. Contents of an already existing *outfile* are destroyed. Wopened files are written to with :func:`fprint`. With no argument, the previously wopened file is closed. h.wopen() returns 0 on failure to open a file. Example: .. code-block:: python from neuron import h, gui def w_open(ndat, x, y): h.wopen("file.dat") for i in range(ndat): h.fprint("%g %g\n", x[i], y[i]) h.wopen() # ndat is number of data points ndat = 3 x = [42.0, 14.0, 12.0] y = [13.7, 64.1, 9.0] w_open(ndat, x, y) .. seealso:: :func:`fprint`, :func:`File` ---- .. function:: xopen Syntax: ``h.xopen("hocfile")`` ``h.xopen("hocfile", "RCSrevision")`` Description: ``h.xopen()`` executes the commands in ``hocfile``. This is a convenient way to define user functions and procedures. An optional second argument is the RCS revision number in the form of a string. The RCS file with that revision number is checked out into a temporary file and executed. The temporary file is then removed. A file of the same primary name is unaffected. ---- .. function:: fprint Syntax: ``h.fprint()`` Example: .. code-block:: python h.fprint("%g %g\n", x, y) Description: Same as :func:`printf` but prints to a file opened with :func:`wopen`. If no file is opened it prints to the standard output.