簡體   English   中英

TypeError:“PosixPath”類型的參數不可迭代

[英]TypeError: argument of type 'PosixPath' is not iterable

我正在嘗試遞歸遍歷文件夾以將特定文件分配給變量以供以后解析,但是我收到以下錯誤:

TypeError: argument of type 'PosixPath' is not iterable
Flask version 1.0.2 (not sure if its relevant)
Python version 3.7.3

進口:

from pathlib import Path
from glob import glob

代碼:

def parse_info(bundle_path):
    file_list = []
    for filename in Path(bundle_path).glob('**/*.*'):
        file_list.append(filename)

    for elem in file_list:
        if 'uname' in elem:
            print('present')

稱呼:

parse_info(<some path>)

'print(filename)'確實打印出該路徑中的所有文件,並且所需的搜索字符串存在於該打印 output 中,所以我知道它存在,但只是不確定如何稍后捕獲該元素。 任何幫助,將不勝感激。

在這種情況下,答案是將文件名附加到列表時將其轉換為字符串:

file_list.append(str(filename))

對於其他遇到相同錯誤的人。 您可能忘記了遍歷字典的語法。 語法是:

for key, value in _dict.items():
    print(f"key: {key} value: {value}")

注意.items(); 我正在使用 .values() 方法。

你要么使用這個

for key, value in _dict.keys():
    pass

或這個

for key, value in _dict.values():
    pass

遍歷字典。 這不是一個答案,而只是一個提醒,以節省其他人的時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM