我有一个包含以下数字、字符串和特殊字符的文本文件。
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始终是一个数字,否则字符串"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
作为变量名并不是一个好的做法。永远不要使用这样的内置函数名。