I am replacing all the occurrences of 2010 in my JSON file with a random number between 1990 and 2020.
import fileinput
from random import randint
f = fileinput.FileInput('data.json', inplace=True, backup='.bak')
for line in f:
print(line.replace('2010', randint(1990, 2020)).rstrip())
I get this error:
Traceback (most recent call last): File "replace.py", line 5, in print(line.replace('2010', randint(1990, 2020)).rstrip()) TypeError: expected a string or other character buffer object
And here is one example of such an occurrence:
"myDate" : "2010_02",
string.replace(s, old, new[, maxreplace])
Return a copy of string s with all occurrences of substring old replaced by new. If the optional argument maxreplace is given, the first maxreplace occurrences are replaced.
The new value must be string, but you are passing a value of type int.
change :
line.replace('2010', randint(1990, 2020)).rstrip())
to:
line.replace('2010', str(randint(1990, 2020))).rstrip()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With