How to print values separated by spaces instead of new lines in Python 2.7

newline, printing, python, python-2.7

Solution

First of all `print` isn't a function in Python 2, it is a statement.

To suppress the automatic newline add a trailing `,`(comma). Now a space will be used instead of a newline.

Demo:

print 1,
print 2

output:

1 2

Or use Python 3's `print()` function:

from __future__ import print_function
print(1, end=' ') # default value of `end` is '\n'
print(2)

As you can clearly see `print()` function is much more powerful as we can specify any string to be used as `end` rather a fixed space.

Problem

I am using Python 2.7.3 and I am writing a script which prints the hex byte values of any user-defined file. It is working properly with one problem: each of the values is being printed on a new line. Is it possible to print the values with spaces instead of new lines? For example, instead of ``` 61 62 ``` I would like to have `61 62`. Below is my code (`..txt` is a file which contains the text `'abcd'`): ``` #!usr/bin/python import os import sys import time filename = raw_input("Enter directory of the file you want to convert: ") f = open(filename, 'rb') fldt = f.read() lnfl = len(fldt) print "Length of file is", lnfl, "bytes. " orck = 0 while orck < lnfl: bndt = hex(ord(fldt[orck])) bndt = bndt[-2:] orck = orck + 1 ent = chr(13) + chr(10) entx = str(ent) bndtx = str(bndt) bndtx.replace(entx, ' ') print bndtx ```

Original source