reads all the remaining expressions in a file and returns a list of them.


reads objects of the specified type from a file, until the end of the file is reached. The list of objects read is returned.


reads objects with a sequence of types, until the end of the file is reached.


reads only the first n objects of the specified types.

Details and Options

  • Possible types to read are:
  • Bytesingle byte, returned as an integer code
    Charactersingle character, returned as a onecharacter string
    Expressioncomplete Wolfram Language expression
    Numberinteger or an approximate number, given in "E" format
    Realapproximate number, given in "E" format
    Recordsequence of characters delimited by record separators
    Stringstring terminated by a newline
    Wordsequence of characters delimited by word separators
  • Objects of type Real can be given in the scientific notation format used by languages such as C and Fortran, as well as in standard Wolfram Language format. A form like 2.e5 or 2E5 as well as 2*^5 can be used to represent the number . Objects read as type Real are always returned as approximate numbers. Objects read as type Number are returned as integers if they contain no explicit decimal points.
  • The following options can be given:
  • NullRecordsFalsewhether to assume a null record between repeated record separators
    NullWordsFalsewhether to assume a null word between repeated word separators
    RecordSeparators{"\r\n","\n","\r"}separators allowed between records
    RecordListsFalsecreate separate sublists for each record
    TokenWords{}words taken as delimiters
    WordSeparators{" ","t"}separators allowed between words
  • If file is not already open for reading, ReadList opens it, then closes it when it is finished. If the file is already open, ReadList does not close it at the end.
  • ReadList prints a message if any of the objects remaining in the file are not of the specified types.
  • ReadList["file",{type1,}] looks for the sequence of typei in order. If the end of file is reached while partway through the sequence of typei, EndOfFile is returned in place of the elements in the sequence that have not yet been read.
  • ReadList[stream] reads from an open input stream, as returned by OpenRead.
  • ReadList works with cloud objects.
  • File["file"] may be used to specify a file name.


open allclose all

Basic Examples  (2)

Read in each line as a separate expression:

Read each line as a string:

Scope  (2)

Read an expression from the file specified by the File object:

Open a stream:

Read three numbers from the stream:

Read two words from the stream:

These are strings:

Read all remaining data in the stream as expressions:

Any further attempt to read from the stream will return an empty list:

Close the stream:

Possible Issues  (1)

Some streams, like those created by StringToStream, give values greater than 255 for the Byte type:

These correspond to the individual character codes:

Close the stream:

Wolfram Research (1988), ReadList, Wolfram Language function, (updated 2016).


Wolfram Research (1988), ReadList, Wolfram Language function, (updated 2016).


Wolfram Language. 1988. "ReadList." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2016.


Wolfram Language. (1988). ReadList. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2024_readlist, author="Wolfram Research", title="{ReadList}", year="2016", howpublished="\url{}", note=[Accessed: 29-May-2024 ]}


@online{reference.wolfram_2024_readlist, organization={Wolfram Research}, title={ReadList}, year={2016}, url={}, note=[Accessed: 29-May-2024 ]}