11

使用 pickle 函数是否是将整数写入文本文件的最快、最可靠的方法?

这是我到目前为止的语法:

import pickle

pickle.dump(obj, file)

如果有更强大的替代方案,请随时告诉我。

我的用例是编写用户输入:

n=int(input("Enter a number: "))
  • 是的,人类需要阅读它并可能对其进行编辑
  • 文件中将有 10 个数字
  • Python 可能需要稍后再读回它。
4

5 回答 5

14

我认为这样做更简单:

number = 1337

with open('filename.txt', 'w') as f:
  f.write('%d' % number)

但这实际上取决于您的用例。

于 2013-04-21T12:49:19.353 回答
4

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)
于 2017-11-23T12:07:02.443 回答
1

使用 python 2,您还可以执行以下操作:

number = 1337

with open('filename.txt', 'w') as f:
  print >>f, number

当我不需要格式化时,我个人会使用它。

于 2016-01-29T10:26:06.147 回答
0

下面会打开一段时间,并在其上附加以下数字。

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:"))
于 2013-04-21T12:50:02.560 回答
0

我刚刚遇到了类似的问题。我使用了一种简单的方法,将整数保存在变量中,并将变量作为字符串写入文件。如果您需要添加更多变量,您始终可以使用“a+”而不是“w”来追加而不是写入。

f = open("sample.txt", "w")
integer = 10
f.write(str(integer))
f.close()

稍后您可以使用 float 读取文件,并且不会抛出错误。

于 2020-04-08T10:31:51.470 回答