TypeError:列表最多应该有1个参数,得到2

问题描述 投票:0回答:1
import os
import sys
listed=[]
for folderName,subfolders,filenames in os.walk('/'):
    for filename in filenames:
        if filename.endswith('.png'):
            listed.append(filename)
            for name in range(len(list(0,10))): 
                print(name)

/ 我希望此脚本查找所有.png文件,但只打印最多十个,但是运行脚本时给我一个错误:“ TypeError:列表最多应有1个参数,得到2个”我可以解决这个问题 /

python python-3.x list directory append
1个回答
0
投票

如果您要打印.png文件的文件名,它将为您完成:

import os
import sys


listed=[]
for folderName, subfolders, filenames in os.walk('/'):
    for filename in filenames:
        if filename.endswith('.png'):
            listed.append(filename)

    for name in listed: 
        print(name)

但是您得到的TypeError是由于:for name in range(len(list(0,10))):

您通过range函数传递了end参数,以从0迭代到end - 1。没关系。但是问题是您想在其中创建列表和长度。 list函数接受类似tuple的迭代器。

因此,您可以通过:

list((0,10))

但是如果要最多打印十个文件名,请简单使用:

listed=[]
for folderName, subfolders, filenames in os.walk('/'):
    for filename in filenames:
        if filename.endswith('.png'):
            listed.append(filename)

    for index in range(10): 
        print(listed[index])
© www.soinside.com 2019 - 2024. All rights reserved.