This is actually due to the way you're reading the file. If you've done something like
with open[FILE] as f:
data = f.readlines[]
Then the data
will be a list of lines which retain the end of line character. If you don't want the end of line character, use this instead:
with open[FILE] as f:
data = f.read[].splitlines[]
If you don't want to change the way that you read the data into a list, then concatenate and print the lines like this instead:
print ''.join[data]
To answer the literal question, if you have a string with a newline, and you want to suppress the newline generated by the print statement, the way to do that in Python 2 is by using a trailing comma on the print statement:
with open[FILE] as f:
for line in f:
print line,
But note, that's not really necessary to iterate line by line like that. You may as well just print the data directly:
with open[FILE] as f:
print f.read[]
- Use the String Formatting With the Modulo
%
Sign in Python - Use the String Formatting With the
str.format[]
Function in Python - Use String Concatenation in Python
- Use the
f-string
for String Formatting in Python - Use the
sep
Parameter of theprint
Statement in Python
When we generally use the print
statement, we sometimes use a comma [,
] as a separator, which sometimes leads to unnecessary spaces between values. Fortunately, you can utilize some alternatives in Python that help you handle these spacing problems.
In this guide, we’ll teach you how to use the different methods to print without spaces between values in Python.
We will take a simple code for all the methods, which takes up a print
statement and contains several arguments separated by commas. For example, the following program below uses the comma operator to print the values.
x = 10
print ['The number of mangoes I have are "', x, '"']
Output:
The number of mangoes I have are " 10 "
We should note that there are unnecessary spaces between the number 10
and the double quotes surrounding it. The aim is to
prevent or remove this excessive or unnecessary spacing.
Use the String Formatting With the Modulo %
Sign in Python
String formatting gives more customization options to the users to go with the classic print
statement. The %
sign is also known as an interpolation or a string formatting operator.
String formatting can be implemented in two ways, and
using the %
sign is one of those options.
The %
sign, followed by a letter that represents the conversion type, works as a placeholder for the variable. The code below uses the %
sign to print without spaces between values in Python.
x = 10
print ['The number of mangoes I have are "%d"' %x ]
Output:
The number of mangoes I have are "10"
Use the String Formatting With the str.format[]
Function in Python
When using the string formatting, braces {}
are used to
mark the spot in the statement where the variable would be substituted.
The str.format[]
has been introduced in Python 3 and is available to use in the latest versions of Python. This function is utilized for the efficient handling of complex string formatting.
The following code uses the str.format[]
function to print without spaces between values in Python.
x = 10
print ['The number of mangoes I have are "{}"'.format[x] ]
Output:
The number of mangoes I have are "10"
It is recommended to use the format[]
function instead of the old %
operator in the newer versions of Python.
Use String Concatenation in Python
The +
operator, also known as the string concatenation operator, can be used in this case to prevent unnecessary spacing between the values. It’s a direct alternative to comma separation and can be used along with the print
statement.
Here is an example code that shows the use of string concatenation in the print statement.
x = 10
print ['The number of mangoes I have are "' + str[x] + '"']
Output:
The number of mangoes I have are "10"
Use the f-string
for String Formatting in Python
Python 3.6 introduced the f-string
, which is another method of achieving string formatting; however, it has the edge over the two other processes for string formatting mentioned above because it’s comparatively faster than its other two peers.
The following code uses the fstring
formatting to print without spaces between values in
Python.
x = 10
print [f'The number of mangoes I have are "{x}"']
Output:
The number of mangoes I have are "10"
Use the sep
Parameter of the print
Statement in Python
You can modify the spacing between the arguments of the print
statement by using the sep
parameter. The sep
parameter can only be found and used in Python 3 and later versions. It can also be utilized for the formatting of the output strings.
The
following code uses the sep
parameter to print without spaces between values in Python.
x = 10
print ['The number of mangoes I have are "', x, '"', sep='']
Output:
The number of mangoes I have are "10"