Gish Gish - 2 months ago 5
Python Question

Putting a variable inside a string (python)

Hi I am quite new to python and this is probably quite a basic question but the help would be much appreciated.

I would like to put an int within a string. This is what I am doing at the moment..

end = smooth(data,window_len=40)
plot.plot(time[0:len(end)],end)
plot.savefig('hanning(40).pdf') #problem line


I have to run the program for several different numbers instead of the two 40's. So I'd like to do a loop but inserting the variable like this doesn't work:

plot.savefig('hanning',num,'.pdf')


Thanks!

Answer
plot.savefig('hanning(%d).pdf' % num)

The % operator, when following a string, allows you to insert values into that string via format codes (the %d in this case). For more details, see the Python documentation:

https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting