如何读取和写入另一个包含数字、字符串和特殊字符的文本文件

How to read and write into another text file having numbers, strings and special characters

我有一个包含以下数字、字符串和特殊字符的文本文件。

63
148
77
358765
Orange
44.7
14
%
61
80
**

如何读取文件并写入另一个只有奇数的文件。

这是我的粗略代码

with open("Odd-Numbers.txt", "r") as i:

with open("Output.txt", "w") as o:

    odds = []

            for num in i:
        try:
            num = int(num)
            if num % 2:
                odds.append(num)
        except ValueError:
            pass

    for line in i:
        output.write(line)
        print(line, end = "")

它给我错误:以 10 为底的 int() 的无效文字:'Mango\n'

如果你使用 int(num) 你必须确保 num 总是一个数字,否则 string as 'Mango' 会给你 ValueError.

现在,您可以试试这个:

with open("Odd-Numbers.txt", "r") as input_file:

    with open("Output.txt", "w") as output_file:

        odds = []

        for num in input_file:
            try:
                num = int(num)
                if num % 2:
                    odds.append(num)
            except ValueError:
                pass

        for line in odds:
            output_file.write(str(line) + '\n')
        

该代码将忽略任何不能为整数的值。但是使用 input 作为变量名不是好的做法。永远不要使用 built-in 这样的函数名称。