using backslash in python (not to escape)
Solution 1:
To answer your question directly, put r
in front of the string.
final= path + r'\xulrunner.exe ' + path + r'\application.ini'
But a better solution would be os.path.join
:
final = os.path.join(path, 'xulrunner.exe') + ' ' + \
os.path.join(path, 'application.ini')
(the backslash there is escaping a newline, but you could put the whole thing on one line if you want)
I will mention that you can use forward slashes in file paths, and Python will automatically convert them to the correct separator (backslash on Windows) as necessary. So
final = path + '/xulrunner.exe ' + path + '/application.ini'
should work. But it's still preferable to use os.path.join
because that makes it clear what you're trying to do.
Solution 2:
You can escape the slash. Use \\
and you get just one slash.
Solution 3:
You can escape the backslash with another backslash (\\
), but it won’t look nicer. To solve that, put an r
in front of The string to signal a raw string. A raw string will ignore literally everything , which is a bad thing if you also want colored text, and really bad if your string contains some quotes like this:
a_and_b = r”Alice’s friend is Bob. He always says, \“howdy\” ”
In this case, python will throw a SyntaxError...
If you haven’t figured out how to solve it, here it is:
a_and_b = r”””Alice’s friend is Bob. He always says, \“howdy\” ”””
In here, we use a multiline string. And if the string has 3 quotes in a row, then that’s easy. Put a space between them and it’s solved:
three_quotes = ’’’ Here are 3 single quotes: ‘ ‘ ‘ ’’’
Solution 4:
Another simple (and arguably more readable) approach is using string raw format and replacements like so:
import os
path = os.getcwd()
final = r"{0}\xulrunner.exe {0}\application.ini".format(path)
print(final)
or using the os path method (and a microfunction for readability):
import os
def add_cwd(path):
return os.path.join( os.getcwd(), path )
xulrunner = add_cwd("xulrunner.exe")
inifile = add_cwd("application.ini")
# in production you would use xulrunner+" "+inifile
# but the purpose of this example is to show a version where you could use any character
# including backslash
final = r"{} {}".format( xulrunner, inifile )
print(final)