python新手求解答
defgetdirsize(dir):size=0Lforroot,dirs,filesinos.walk(dir):size+=sum([getsize(join(ro...
def getdirsize(dir):
size=0L
for root,dirs,files in os.walk(dir):
size+=sum([getsize(join(root,name)) for name in files])
return size
这个方法具体是什么意思?size=0L为什么有个L是单位? 展开
size=0L
for root,dirs,files in os.walk(dir):
size+=sum([getsize(join(root,name)) for name in files])
return size
这个方法具体是什么意思?size=0L为什么有个L是单位? 展开
展开全部
1、sum()是累加,把列表里的所有数值加起来
getsize(filename)是获取filename的大小(单位B,除以1024就是KB,再除1024就是MB)
join(root,name)是把root和name组合成filename,例如:
join('/root/home','jie.jpeg')的结果是‘/root/home/jie.jpeg'
os.walk(dir):这个是遍历dir文件夹里的所有文件,具体用法限于篇幅请自己百度
2、标准整型 Int
之所以称之为标准整型,是因为除此之外Python还具有长整型。
标准整型占用的位数:
1. 在32为OS平台上使用32位编译器的话,Int占用32位,取值范围是-2**31 ~ 2**31-1
2. 在64位OS平台上使用64位编译器的话,Int占用64位,取值范围是-2**63 ~ 2**63-1
标准整型Int是一种不可变类型:
In [9]: num = 1
In [10]: num = 2
注意:num = 1; num = 2 两个语句中并不是指的同一个数据对象。第一条语句中的num指向数据对象的Value为 1 ,此时num的引用为数据对象在内存中存储位置的索引地址;第二条句子中的num则表示Value为 2 的数据对象在内存中存储位置的索引地址。
在上面的两次赋值过程中,1、2 两个Vlaue对应的数据对象在内存中并没有任何的改变。本质上只是改变了变量 num 的引用(所指向的内存地址)。所以说Int类型是一种不可变类型(因为数据对象没有改变)。Int类型数据对象的值在内存中并不会发生改变,但可以改变变量的引用。
长整型
Python的长整型与C/C++等编译型语言的长整型有本质的区别,因为Python长整型的取值范围不是固定的,它仅仅与你的PC支持的(虚拟)内存大小有关。这样的话,Python能够轻松的表达一个很大的整型。但是就目前的情况来看,标准整型和长整型有了合并的趋势。
在Python 2.2之前,标准整型数据对象超出了取值范围时会出现溢出ERROR,现在如果还出现溢出的话会被Python解析器自动的被捕获并隐式的将标准整型转换为长整型对象。
在一个整型数字后面加L|l标识一个长整型的数值类型对象。In [3]: aLong = -999999999999999999999L
In [4]: type(aLong)
Out[4]: long
getsize(filename)是获取filename的大小(单位B,除以1024就是KB,再除1024就是MB)
join(root,name)是把root和name组合成filename,例如:
join('/root/home','jie.jpeg')的结果是‘/root/home/jie.jpeg'
os.walk(dir):这个是遍历dir文件夹里的所有文件,具体用法限于篇幅请自己百度
2、标准整型 Int
之所以称之为标准整型,是因为除此之外Python还具有长整型。
标准整型占用的位数:
1. 在32为OS平台上使用32位编译器的话,Int占用32位,取值范围是-2**31 ~ 2**31-1
2. 在64位OS平台上使用64位编译器的话,Int占用64位,取值范围是-2**63 ~ 2**63-1
标准整型Int是一种不可变类型:
In [9]: num = 1
In [10]: num = 2
注意:num = 1; num = 2 两个语句中并不是指的同一个数据对象。第一条语句中的num指向数据对象的Value为 1 ,此时num的引用为数据对象在内存中存储位置的索引地址;第二条句子中的num则表示Value为 2 的数据对象在内存中存储位置的索引地址。
在上面的两次赋值过程中,1、2 两个Vlaue对应的数据对象在内存中并没有任何的改变。本质上只是改变了变量 num 的引用(所指向的内存地址)。所以说Int类型是一种不可变类型(因为数据对象没有改变)。Int类型数据对象的值在内存中并不会发生改变,但可以改变变量的引用。
长整型
Python的长整型与C/C++等编译型语言的长整型有本质的区别,因为Python长整型的取值范围不是固定的,它仅仅与你的PC支持的(虚拟)内存大小有关。这样的话,Python能够轻松的表达一个很大的整型。但是就目前的情况来看,标准整型和长整型有了合并的趋势。
在Python 2.2之前,标准整型数据对象超出了取值范围时会出现溢出ERROR,现在如果还出现溢出的话会被Python解析器自动的被捕获并隐式的将标准整型转换为长整型对象。
在一个整型数字后面加L|l标识一个长整型的数值类型对象。In [3]: aLong = -999999999999999999999L
In [4]: type(aLong)
Out[4]: long
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询