TypeError: список ожидал не более 1 аргумента, получил 2 - PullRequest
0 голосов
/ 06 марта 2020
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, но печатал только до десяти, но при запуске скрипта выдает ошибку: «Ошибка типа: в списке ожидается не более 1 аргумента, получил 2 "как я могу это исправить /

1 Ответ

0 голосов
/ 06 марта 2020

Если вы хотите напечатать имя файла .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])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...