Ich habe einen FehlerTypeerror: nicht unterstützte Operandtyp (e) für +: 'PosixPath' und 'str'
TypeError: unsupported operand type(s) for +: 'PosixPath' and 'str'
Mein Code ist der folgende
import os
import cv2
import random
from pathlib import Path
path = Path(__file__).parent
path = "../img_folder"
for f in path.iterdir():
print(f)
f = str(f)
img=cv2.imread(f)
line = random.randint(0, 50)
img[3, 3, :] = line
cv2.imwrite(path + "/" + "photo.png", img)
Traceback sagt einen Code von cv2.imwrite~
ist falsch. Ich kann wirklich nicht verstehen, warum das falsch ist. Ist diese Art von Pfadfehler? Oder bin ich falsch, diese Methode zu verwenden? Wie soll ich das beheben?
Bist Du sicher Sie den richtigen Code geschrieben? 'path' ist eindeutig eine Zeichenkette am Anfang der for-Schleife, aber Sie rufen' iterdir' darauf auf, wobei AFAIK keine Methode für 'str' in Python 2 oder 3 ist. –
Angenommen, der' path = " ../ img_folder "' existiert nicht (wie von @ SilvioMayolo bemerkt), glaube ich, dass 'pathlib.Path' ein' PosixPath' Objekt (keine Zeichenkette) zurückgibt. Ich glaube nicht, dass Sie diese zwei verschiedenen Objekte direkt hinzufügen können. –