I'm trying to create a file file a unique file name, every time my script is ran, it's only intended to be weekly or monthly. so I chose to use the date for the file name.
f = open('%s.csv', 'wb') %name
is where I'm getting this error.
Traceback (most recent call last):
File "C:\Users\User\workspace\new3\stjohnsinvoices\BabblevoiceInvoiceswpath.py", line 143, in <module>
f = open('%s.csv', 'ab') %name
TypeError: unsupported operand type(s) for %: 'file' and 'str'
it works if I use a static filename, is there an issue with the open function, that means you can't pass a string like this?
name is a string and has values such as :
31/1/2013BVI
Many thanks for any help
You need to put
% name
straight after the string:The reason your code doesn't work is because you are trying to
%
a file, which isn't string formatting, and is also invalid.Even better are f-strings in python 3!
And with the new string formatting method...
Very similar to peixe.
You don't have to mention the number if the variables you add as parameters are in order of appearance
you can do something like
or
f = open('%s.csv' % name, 'wb')