我正在编写代码,首先在其中创建一个文本文件,然后向其中输入数据,但是问题是,要输入的数据是整数,我不知道该怎么办,我在做我首先以'str'形式输入,然后我不知道如何将其转换为整数,但是我也失败了。我也想知道,我们可以对文件中的整数进行排序吗,这是我的代码:
f = open("o.txt","w+")
n = 3
for a in range(n):
f.write(a)
f.close()
我得到一个错误:
write() argument must be str, not int
好的,我们可以给出str,但是如何将其转换为int并对整个文件进行排序。
问题:我想用一个整数写(如果可能的话,或者我们稍后将其转换)并对文件进行排序?
答案 0 :(得分:1)
从文件读取时,必须确保读取的每一行都是一个int,请使用int()。
如果您将代码更改为:
f = open("o.txt", "w+")
n = 3
for a in range(n):
f.write(str(a))
f.close()
它将运行,但是文件将如下所示:
012
这将使得不可能区分每个整数。我假设您想将一堆整数放入文件中,然后分别对该文件进行排序。您应该在每次写入时添加换行符。
f = open("o.txt", "w+")
n = 3
for a in range(n):
f.write(str(a) + "\n")
f.close()
新文件将如下所示:
0
1
2
,您将能够逐行阅读它。
答案 1 :(得分:0)
至少早一点(至少以最简单的形式)了解字符串类型的format
方法可能是一个好主意:
f.write( "{}\n".format(a) )
几乎可以运行a
。