python - 在3个文本文件之间写入正数和负数

标签 python python-3.x

名为 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/

相关文章:

python - 如何覆盖 python 中的类属性访问?

python - 无法在 Windows 上使用 pip 安装 pytorch

python - 提取两个不同标签之间的文本 beautiful soup

python - 日志记录与 print() + 日志记录最佳实践的优势

python - 从另一个文件调用预编译模块

python - 如何在 python 3 中解析 excel 文档中的文本?

python - 如何为 pandas 构建带有嵌套 for 循环和条件的列表理解?

python - 在 numpy 中矢量化后的性能损失

python - 用列表和括号打印偶数

python-3.x - 如何为谷歌应用引擎打包 python3 模块