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
返回。
答案 0 :(得分:11)
仅显示或以交互模式显示,或者通过repr()
获取字符串表示时。正如zigg所写,你可以简单地忽略它。考虑这个实现细节。在正常的int和long 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
>>>
请注意Python 2.7的L
,但Python 3.2没有类似的内容。
答案 1 :(得分:8)
尾随L
表示您拥有long
。实际上你总是拥有它,但print
dict
将显示值的可打印表示,包括L
表示法;但是,打印long
本身只显示数字。
你几乎肯定不必担心剥离尾随L
;您可以在所有计算中使用long
,就像使用int
一样。
答案 2 :(得分:1)
这确实是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