[Tutor] Error writing to file...
David
david at pythontoo.com
Fri Dec 25 21:39:00 CET 2009
On 12/25/09 15:00, Ken G. wrote:
> In writing the following program in creating random numbers and writing
> them to the file, I get an type error in writing to file. I have tried
> number = random(10,99), number = randint(10.99), and number =
> random.random(10,00) and still get various errors of writing to file.
> If I were to REM out the file.write(number) and file.write('\n') lines,
> the program run fine. Do I need to convert a numeric random number to a
> string number?
>
> TIA,
>
> Ken
>
> PROGRAM:
>
> import random
> print ("First Group - Write")
> file = open("Numbers.txt","w")
> for i in range(1,10):
> number = random.randint(10,99)
> print i, number
> file.write(number)
> file.write('\n')
> file.close()
>
> ERROR MESSAGE:
>
> Traceback (most recent call last):
> File "/home/ken/Python 262/random.py", line 8, in <module>
> file.write(number)
> TypeError: argument 1 must be string or read-only character buffer, not int
Hi Ken,
From the docs if you are using 2.6
[snip]
To write something other than a string, it needs to be converted to a
string first:
>>> value = ('the answer', 42)
>>> s = str(value)
>>> f.write(s)
http://docs.python.org/tutorial/inputoutput.html
--
David Abbott (dabbott)
More information about the Tutor
mailing list