如何读取和写入另一个包含数字、字符串和特殊字符的文本文件
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 这样的函数名称。
我有一个包含以下数字、字符串和特殊字符的文本文件。
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 这样的函数名称。