TypeError: mauvais type d'argument pour exploitation intégré
J'ai eu une erreur TypeError: mauvais type d'argument pour exploitation intégré .
J'ai écrit
import os
import cv2
from pathlib import Path
path = Path(__file__).parent
path /= "../../img_folder"
for f in path.iterdir():
print(f)
img=cv2.imread(f)
Dans img=cv2.imread(f), l'erreur se produit.Est-ce un Python erreur ou d'un répertoire d'erreur incorrect?En d'impression(f),je pense que le droit des répertoires peut être obtenu.Comment dois-je résoudre ce problème?
- À partir de laquelle la bibliothèque de l'
Path
classe viennent de? - de pathlib Chemin d'importation est.
- partager vos pathlib contenu du fichier
- C'est comme ../../img_folder/photo1.png . Dossier des images.
Vous devez vous connecter pour publier un commentaire.
Ressemble
path.iterdir()
retourne un objet de type<class 'pathlib.PosixPath'>
et passtr
. Etcv2.imread()
accepte une chaîne de nom de fichier.Si cela corrige:
chemin n'est pas un objet de type STRING est un objet pathLib Type, de sorte que vous avez à faire est, sur la boucle, la fonte de la valeur de l'itérateur dans une Chaîne de caractères de l'objet avec la méthode str() avant de passer à la imread.
Comme: