Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python simples3 listdir是否将输出限制为1000个文件?_Python_Amazon S3 - Fatal编程技术网

Python simples3 listdir是否将输出限制为1000个文件?

Python simples3 listdir是否将输出限制为1000个文件?,python,amazon-s3,Python,Amazon S3,我使用的是1.0版。在s3键上调用listdir时,如果有超过1000个文件,则生成器只返回前1000个文件 该方法有一个可选的limit参数,默认为None。设置限制将返回空列表。文档中提到的listdir没有额外的限制 下面是一个代码示例,其中bucket是simples3 S3Bucket,s3_key是s3中的一个密钥,其中包含5000多个文件: count = 0 for file_info in bucket.listdir(prefix=s3_key): count += 1

我使用的是1.0版。在s3键上调用listdir时,如果有超过1000个文件,则生成器只返回前1000个文件

该方法有一个可选的limit参数,默认为None。设置限制将返回空列表。文档中提到的listdir没有额外的限制

下面是一个代码示例,其中bucket是simples3 S3Bucket,s3_key是s3中的一个密钥,其中包含5000多个文件:

count = 0
for file_info in bucket.listdir(prefix=s3_key):
   count += 1

>>> count
1000 ## Expected to be over 5000
是否存在未记录的限制?
simples3库有没有办法获取s3键下的所有文件?

simples3库使用aws的rest api,默认情况下是这样的

它不是,但可以使用
limit
键设置限制:

for file_info in bucket.listdir(prefix=s3_key, limit=10000):
我没有找到任何方法将其设置为无限


这里是
simples3
的作者。很抱歉,这已经不起作用了,但这确实在亚马逊上。正如您在中所看到的,它支持分页,并且应该是无缝的。如果不是,那是因为Amazon停止返回截断标志或停止返回标记以执行分页。

谢谢!正如我所写的,我确实尝试为它设置limit参数,但没有返回任何内容:>>>对于bucket.listdir(prefix=s3\u key,limit=10000)中的文件\u info:。。。计数+=1…>>>计数0您知道我如何查询超过1000个吗?或者它只是一个无法解决的aws限制?哦,我看到我需要使用NextContinuationToken来查询1000多个结果,而simples3似乎不支持它:-/bucket.listdir(prefix=s3\u key,limit=10000)不起作用?5000美元怎么样?还是2000年?也许有一个硬顶限制,您不能在上面使用数字…您是对的,simples3库没有实现
NextContinuationToken
。奇怪的是StackOverflow删除了答案开头的“hello”。感谢您的回答和simple3。我找不到使用带分页的simples3的方法,所以我转而使用boto3。