python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python获取对象大小和文件大小

Python如何获取对象大小和文件大小

作者:Robin_Pi

这篇文章主要介绍了Python如何获取对象大小和文件大小问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Python获取对象大小和文件大小

import os, sys

# sys.getsizeof()
print(sys.getsizeof('1'))

print(sys.getsizeof([]))

print(sys.getsizeof(1))

print(sys.getsizeof(dict()))

print(sys.getsizeof(set()))

print()

# os.pat.getsize()

print(os.path.getsize('write_file_a+.txt'))

50
64
28
240
224

20

python定义对象的比较方法

有时候我们需要比较两个对象。比如哪个对象大,哪个对象小。

如果我们不告诉python如何比较,那么Python是不知道如何进行比较的。

下面提供实例:

#__eq__(self,other):
#在使用==比较运算符比较两个对象是否相等的时候会调用这个方法。
#如果是相等,那么应该返回True,否则返回False。

#__ne__(self,other):
#在使用!=比较运算符来比较两个对象是否不相等的时候会调用这个方法。
#如果这两个对象不想等,那么应该返回True,否则返回False。

#__lt__(self,other):
#在使用<比较运算符来比比较两个对象大小的时候会调用这个方法。
#如果self<other,那么应该返回True,否则返回False。

#<=和>=的解决方案:
#以上讲了<、>、==以及!=的执行方法。
#没有讲<=和>=这两个运算符执行的方法,其实这两个方法是这样执行的,
#拿<=为例来讲,首先执行<判断,如果为False,那么会再执行==判断,
#如果都为False,那么就返回False。
class class(object):

	def __init__(self,param1,param2):
		self.param1= 
		self.param2 = param2

	def __eq__(self,other):
		if self.param1==other.param1 and self.param2==other.param2:
			return True
		else:
			return False

	def __ne__(self,other):
		if self.param1!=other.param1 or self.param2!=other.param2:
			return True
		else:
			return False

	def __lt__(self,other):
		if self.param1 < other.param1:
			return True
		else:
			if self.param1==other.param1:
				return True if self.param2<other.param2 else False
			else:
				return False

	def __gt__(self,other):
		if self.param1>other.param1:
			return True

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文