["python","string-formatting"]
What does %s mean in a Python format string?

What does %s mean in Python? And what does the following bit of code do? For instance... if len(sys.argv) < 2: sys.exit('Usage: %s database-name' % sys.argv[0]) if not os.path.exists(sys.argv[1]): sys.exit('ERROR: Database %s was not found!' % sys.argv[1])
It is a string formatting syntax (which it borrows from C). Please see "PyFormat": Python supports formatting values into strings. Although this can include very complicated expressions, the most basic usage is to insert values into a string with the %s placeholder. Here is a really simple example: #Python 2 name = raw_input("who are you? ") print "hello %s" % (name,) #Python 3+ name = input("who are you? ") print("hello %s" % (name,)) The %s token allows me to insert (and potentially format) a string. Notice that the %s token is replaced by whatever I pass to the string after the % symbol. Notice also that I am using a tuple here as well (when you only have one string using a tuple is optional) to illustrate that multiple strings can be inserted and formatted in one statement.