我正在尝试编写一个函数,它接受一个字符串(作为一个文件),在该文件中,它在单独的行中包含数字(整数和浮点),然后我想打印文件中大于零的数字。我对python还很陌生,所以在让输出正常工作时遇到了一些问题。 到目前为止,我已经:
def getPositive(filename):
infile = open(filename, 'r')
content = (infile.read())
infile.close()
for number in content:
if number <= 0:
print (content.remove(number))
我不断地得到错误
>>> getPositive('nums1.txt')
Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
getPositive('nums1.txt')
File "/Users/XXXX/Desktop/test.py", line 8, in getPositive
if number <= 0:
TypeError: unorderable types: str() <= int()
此外,在我的文件中,我有:
59
-3.2
12.99
-1
45.3
20
我只想打印:
59
12.99
45.3
20
有人能给我解释一下我做错了什么,我需要做些什么来弥补吗?你知道吗
使用^{} function 将文件中的字符串转换为数字:
无需在内存中读取整个文件,而是逐行处理:
with
语句确保文件对象自动关闭。你知道吗输出:
相关问题 更多 >
编程相关推荐