【发布时间】:2020-01-23 17:52:20
【问题描述】:
我正在阅读 python 中的文本文件,其中主要包含数字行以及一些字母数字行。我需要分离奇数和偶数并写入新文件,但是当它进入字母数字行时出现错误。请帮忙。 例如....说txt文件包含以下....2,4,6,10p等。我尝试使用此代码。在将偶数和奇数写入相应的文件之后,我希望这段代码能够正常工作....应该说,您的工作已经完成,但这些行保持原样....我们可以这样做吗??
file = open("num.txt","rt")
even = open("even.txt","w+")
odd = open("odd.txt","w+")
for i in file:
if i.strip:
num = int(i)
if (num % 2 == 0):
even.write(str(num))
even.write("\n")
else:
odd.write(str(num))
odd.write("\n")
但它显示以下错误
File "G:/Py_projects/odd_even.py", line 6, in <module>
num = int(i)
ValueError: invalid literal for int() with base 10: '10p\n'
进程以退出代码 1 结束 请回复。谢谢。
【问题讨论】:
-
欢迎来到 StackOverflow。见minimal, reproducible example。在您发布 MRE 代码并准确说明问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中并重现您指定的问题。
-
On topic、how to ask 和 ...the perfect question 在这里申请。 StackOverflow 是一个针对特定编程问题的知识库。
-
可以使用字符串
.isdigit()函数判断字符串是否只包含数字。 -
isalnum()是您正在寻找的。span> -
如果一行是
2,4,6,10p,您是要跳过整行还是处理其中的数字?