parse a csv file into a text file

Jussi Piitulainen jpiitula at
Thu Feb 6 09:49:59 CET 2014

Zhen Zhang writes:
> I am currently running python 2.7.
> Yes, i thought there must be a print function in python like fprint
> in C++ that allows you to print into a file directly.
> But i google about "print string into text file" I got answers using
> f.write() instead. :)

Indeed. The first Python hit for me with that query was the tutorial
page on I/O in Python 2, and it does exactly that.

That page does refer to the spec of the print statement, where you can
find the way to redirect the output to a file, but you need to be able
to read formal syntax specifications like this:

print_stmt ::=  "print" ([expression ("," expression)* [","]]
                | ">>" expression [("," expression)+ [","]])

The relevant pattern is the second alternative, after the vertical
bar, which can be instantiated this way:

  print >> f, e0, e1

There is one object f with a .write method, and one or more
expressions whose values get written using f.write; the effect of an
optional comma at end is also specified there. Not tutorial-level.

But I use the newer print function even if I have to use 2.7,
something like this:

  from __future__ import print_function
  f = open("test.txt", "w")
  print("hello?", "see me?", file=f)

It does a modest amount of formatting: the value of the keyword
argument sep is written between the values, and the value of end is
written at end.

More information about the Python-list mailing list