import os, sys
def crawlLocalDirectories(directoryToCrawl):
crawledDirectory = [os.path.join(path, subname) for path, dirnames, filenames in os.walk(directoryToCrawl) for subname in dirnames + filenames]
return crawledDirectory
print crawlLocalDirectories('.')
dictionarySize = {}
def getSizeOfFiles(filesToMeasure):
for everyFile in filesToMeasure:
size = os.path.getsize(everyFile)
dictionarySize[everyFile] = size
return dictionarySize
print getSizeOfFiles(crawlLocalDirectories('.'))
每当这是跑了,我得到的输出{'example.py':392L}
为什么呢? 什么是一个L? 我不希望有在年底剥离将L关闭。
如果我没有将它添加到字典中运行它,它回来了文件大小为392
。
这是唯一的或在交互模式或当你通过得到的字符串表示显示repr()
作为zigg写道,你可以简单地忽略它。 认为这是一个实现细节。 这也许是有用的时候,当它进行正常的int和长整型之间的差异是很重要的。 在Python 3,不存在L
,例如。 int是INT不管有多大:
d:\>py
Python 3.2.1 (default, Jul 10 2011, 20:02:51) [MSC v.1500 64 bit (AMD64)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 100000000000000000000000000000000000000000000
>>> a
100000000000000000000000000000000000000000000
>>> ^Z
d:\>python
Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 100000000000000000000000000000000000000000000
>>> a
100000000000000000000000000000000000000000000L
>>>
注意L
被Python 2.7,但没有被Python 3.2类似。
尾部L
意味着你有一个long
。 实际上,你总是有它,但print
荷兰国际集团一个dict
将显示值的可打印表示,包括L
符号; 然而,打印long
本身只显示号码。
你几乎肯定不需要担心剥离尾部L
; 你可以使用一个long
在所有的计算就像你使用int
。
这是真正的PEPR的答案,但如果你真的需要,你可以做INT()函数,它的工作原理也大整数
Python 2.7.3 (default, Jul 24 2012, 10:05:39)
[GCC 4.7.0 20120507 (Red Hat 4.7.0-5)] on linux2
>>> import os
>>> os.path.getsize('File3')
4099L
但如果你在函数int把()自动的:
>>> int(os.path.getsize('File3'))
4099