AppDividend
Latest Code Tutorials

Python raw string: How to Use Raw Strings in Python

0

Python raw string is a regular string, prefixed with an r or R. Python has multiple ways to write string literals. We can convert any of these string types to raw as well.

Python raw string

To create a raw string in Python, prefix a string literal with ‘r’ or ‘R’. Python raw string tackles backslash (\) as a literal character. To understand what a raw string means, see the below string, having the sequence “\n” and “\t”.

str = "Well\thello beautiful\nsaid by joker"
print(str)

Output

Well	hello beautiful
said by joker

Here, str is a regular string, so it treats “\n” and “\t” as escape characters.

Let’s create a raw string from this string and see how it will turn out.

raw_str = r"Well\thello beautiful\nsaid by joker"
print(raw_str)

Output

Well\thello beautiful\nsaid by joker

In this case, the raw string does not treat “\n” and “\t” as escape characters.

Where raw strings are used

You can use raw strings where you do not need the processed version of that string. For example, if your string contains any invalid escape character like \x or \k, it will throw one SyntaxError.

str = "Well\xhello beautiful"
print(str)

Output

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 4-5: truncated \xXX escape

You can see that we got a SyntaxError because Python doesn’t know how to decode ‘\x’ as it doesn’t have any special meaning.

This error can be avoided if we use a raw string.

str = r"Well\xhello beautiful"
print(str)

Output

Well\xhello beautiful

Invalid raw strings in Python

If you think that all the raw strings are valid, then you’re mistaken. There can be invalid raw strings. For example, a raw string that contains only a single backslash is not valid.

invalidRawA = r"\"
print(invalidRawC)

Output

  invalidRawA = r"\"
                      ^
SyntaxError: EOL while scanning string literal

OR these kinds of raw strings are invalid.

invalidRawB = r"abc\"
invalidRawC = r"abc\\\"

Conclusion

Python raw strings operate backslash (\ ) as a literal character. For example, if we want to print a string with a “\t” inside, it will add space. But if we make it a raw string, it will only print out the “\t” as a normal character. 

In this example, we have seen how to create a raw string and when to use it, and what is an invalid raw string. That is it for this tutorial.

See also

Python f strings

Python multiline string

Leave A Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.