I think it's simpler doing:
number = 1337
with open('filename.txt', 'w') as f:
f.write('%d' % number)
But it really depends on your use case.
Question
Would using the pickle function be the fastest and most robust way to write an integer to a text file?
Here is the syntax I have so far:
import pickle
pickle.dump(obj, file)
If there is a more robust alternative, please feel free to tell me.
My use case is writing an user input:
n=int(input("Enter a number: "))
Solution
I think it's simpler doing:
number = 1337
with open('filename.txt', 'w') as f:
f.write('%d' % number)
But it really depends on your use case.
OTHER TIPS
result = 1
f = open('output1.txt','w') # w : writing mode / r : reading mode / a : appending mode
f.write('{}'.format(result))
f.close()
f = open('output1.txt', 'r')
input1 = f.readline()
f.close()
print(input1)
With python 2, you can also do:
number = 1337
with open('filename.txt', 'w') as f:
print >>f, number
I personally use this when I don't need formatting.
The following opens a while and appends the following number to it.
def writeNums(*args):
with open('f.txt','a') as f:
f.write('\n'.join([str(n) for n in args])+'\n')
writeNums(input("Enter a numer:"))
I just encountered a similar problem. I used a simple approach, saving the integer in a variable, and writing the variable to the file as a string. If you need to add more variables you can always use "a+" instead of "w" to append instead of write.
f = open("sample.txt", "w")
integer = 10
f.write(str(integer))
f.close()
Later you can use float to read the file and you wont throw and error.