Python,将整数写入';。txt';文件
使用pickle函数是将整数写入文本文件的最快、最健壮的方法吗 以下是到目前为止我掌握的语法:Python,将整数写入';。txt';文件,python,performance,pickle,robustness,Python,Performance,Pickle,Robustness,使用pickle函数是将整数写入文本文件的最快、最健壮的方法吗 以下是到目前为止我掌握的语法: import pickle pickle.dump(obj, file) 如果有更可靠的替代方案,请随时告诉我 我的用例是编写用户输入: n=int(input("Enter a number: ")) 是的,人类需要阅读它,也许还需要编辑它 文件中将有10个数字 Python可能需要稍后重新阅读它 我认为这样做更简单: number = 1337 with open('filename.t
import pickle
pickle.dump(obj, file)
如果有更可靠的替代方案,请随时告诉我
我的用例是编写用户输入:
n=int(input("Enter a number: "))
- 是的,人类需要阅读它,也许还需要编辑它
- 文件中将有10个数字
- Python可能需要稍后重新阅读它
number = 1337
with open('filename.txt', 'w') as f:
f.write('%d' % number)
但这实际上取决于您的用例。下面的代码会打开一段时间,并在其后面附加以下数字
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:"))
使用python 2,您还可以执行以下操作:
number = 1337
with open('filename.txt', 'w') as f:
print >>f, number
我个人在不需要格式化时使用此选项。Write
阅读
我刚刚遇到了一个类似的问题。 我使用了一种简单的方法,将整数保存在变量中,并将变量作为字符串写入文件。如果需要添加更多变量,可以始终使用“a+”而不是“w”进行追加,而不是写入
f = open("sample.txt", "w")
integer = 10
f.write(str(integer))
f.close()
稍后,您可以使用float读取文件,并且不会抛出错误 您的用例是什么?哦,很抱歉没有提供详细信息,但我用它将一个整数(userinput)写入一个.txt文件。您的问题仍然不清楚。如何使用该文件?如果您的程序需要稍后读取文件并检索数字,pickle可能是合适的。主要问题是:人类是否有可能需要阅读此文件?编辑它?非python程序可能想要读取它?编辑它?文件中将包含多少数据?只需要一个号码吗?很多数字?我真的看不出速度有什么不同。这段代码有一种很传统的感觉。在新代码中通常避免使用旧式字符串格式,文件应使用。@Lattyware打开经过多次辩论后,我得出结论,旧式字符串格式是一种风格选择,尽管
.format
具有更大的功能,但如果人们愿意,仍然允许使用它<但应始终使用带有的代码!还有为什么首先要使用格式str(number)
这不是“允许”与否的问题,只是样式的问题,正如您最初所说的,文档确实建议在新代码中避免使用旧样式的字符串格式,这实际上是关于这一问题的唯一样式建议。一般来说,当处理其他人可能最终阅读的任何代码时(我认为我所有的代码都是这样),最好遵循语言概述的约定,以提高可读性和熟悉度。是的,这里更好的选择是str(number)
。@Lattyware尽管我很想这样,但Python社区仍然普遍接受它
f = open('output1.txt', 'r')
input1 = f.readline()
f.close()
print(input1)
f = open("sample.txt", "w")
integer = 10
f.write(str(integer))
f.close()