Very basic Python question (strings, formats and escapes)

后端 未结 10 2080
别那么骄傲
别那么骄傲 2021-02-06 10:59

I am starting to learn Python with an online guide, and I just did an exercise that required me to write this script:

from sys import argv

script, filename = ar         


        
10条回答
  •  孤独总比滥情好
    2021-02-06 11:59

    The guide is suggesting creating a single string and writing it out rather than callingwrite() six time which seems like good advice.

    You've got three options.

    You could concatentate the strings together like this:

    line1 + "\n" + line2 + "\n" + line3 + "\n"
    

    or like this:

    "\n".join(line1,line2,line3) + "\n"
    

    You could use old string formatting to do it:

    "%s\n%s\n%s\n" % (line1,line2,line3)
    

    Finally, you could use the newer string formatting used in Python 3 and also available from Python 2.6:

    "{0}\n{1}\n{2}\n".format(line1,line2,line3)
    

    I'd recommend using the last method because it's the most powerful when you get the hang of it, which will give you:

    target.write("{0}\n{1}\n{2}\n".format(line1,line2,line3))
    

提交回复
热议问题