名为 data.txt 的文件包含未知数量的行,每行由一个整数组成。编写一些代码,创建两个文件 dataplus.txt 和 dataminus.txt,并将 data1.txt 中具有正整数的所有行复制到 dataplus.txt,并将 data1.txt 中具有负整数的所有行复制到 dataminus.txt 。零不会被复制到任何地方。
这段代码是我到目前为止所拥有的。它遇到执行错误并且不会向文本文件写入任何内容。
minus = open('dataminus.txt', 'a')
plus = open('dataplus.txt', 'a')
source = open('data.txt', 'r')
sor = source.readline()
while sor != '':
x = int(sor)
if (x > 0):
plus.write(x)
elif (x < 0):
minus.write(x)
sor = source.readline()
source.close()
minus.close()
plus.close()
最佳答案
正如有人在评论中所说,您只需将 x 转换回 str,这就是运行时错误必须说的(TypeError: write() argument must be str, not int
minus = open('dataminus.txt', 'a')
plus = open('dataplus.txt', 'a')
source = open('data.txt', 'r')
sor = source.readline()
while sor != '':
x = int(sor)
if (x > 0):
plus.write(str(x)+'\n')
elif (x < 0):
minus.write(str(x)+'\n')
sor = source.readline()
source.close()
minus.close()
plus.close()
您可能会注意到的另一个问题是需要在每个数字后添加换行符。
关于python - 在3个文本文件之间写入正数和负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55583156/