我需要在系统上的一个文件夹中找到文件的数量。
这是我用的:
file_count = sum((len(f) for _, _, f in os.walk('path')))
当我们将路径指定为引号中的字符串时,这很好用,但是当我输入一个包含路径的变量名时,type(file_count) 是一个生成器对象,因此不能用作整数。
如何解决这个问题以及为什么会发生这种情况?
好的,这就是我正在做的事情:
在终端的命令行中:
python mypyProg.py arg1 arg2 arg3
在 myProg.py 中:
arg1 = sys.argv[1]
file_count = sum((len(f) for _, _, f in os.walk(arg1)))
arg1 作为字符串传递
我检查了 repr(arg1) 和 type(arg1):
repr(arg1) '/home/kartik/Downloads/yahoo_dataset/tryfolder'
type(arg1) <type 'str'>
type(file_count) <type 'generator'>
错误信息:
NDCG = scipy.zeros((file_count,1),float)
TypeError: an integer is required
我不知道,当我只使用一些虚拟变量输入它时,它在 IDLE python IDE 中运行良好。