mein Programm abstürzt, wenn dieses bestimmte Bild nicht im Image-Ordner gefunden wird. Das Programm sucht nach Bild im Image-Ordner und Imagecolumn in der csv.Wenn der Bildname in der Bildspalte vorhanden ist, aber nicht im Ordner gefunden wird, stürzt er ab. Ich habe versucht, die Imagedatei zu protokollieren, aber es ist fehlgeschlagen.Programm stürzt ab, wenn Bild nicht im Ordner gefunden wird, aber es sollte in Log-Logging-Problem
Dies ist, ich habe bisher
import pandas as pd
import os
import shutil # making a duplicate copy of a file
import logging
from os.path import splitext # splits name & extension from a file
class Image:
def image_fix(self):
# logging
LOG = "example.log"
logging.basicConfig(filename='example.log',
filemode='w',
format='%(asctime)s,%(msecs)d %(name)s %(levelname)s %(message)s',
datefmt='%H:%M:%S',
level=logging.DEBUG)
# console handler
console = logging.StreamHandler()
console.setLevel(logging.ERROR)
logging.getLogger("").addHandler(console)
# using panda to open and read csv
df = pd.read_csv('rgw.csv')
df['Image'] = df.ImageName + "_" + df.ImageWChain + ".jpg"
#checking if column "ImageWChain" has "jpg" extension,then concat .jpg
if ".jpg" not in df.ImageWChain:
df['ImageWChain'] = df.ImageWChain + ".jpg"
if ".jpg" not in df.ImageName:
df['ImageName'] = df.ImageName + ".jpg"
# write to csv
df.to_csv('rgw.csv')
old_image = df.ImageName
new_image = df.Image
#splits the imagename and extension
for item in enumerate(old_image):
name, ext = splitext(old_image[item[0]])
if (ext == ""):
continue
oldFileName = name + ext
print("oldFileName = " + oldFileName)
newFileName = new_image
print("newFileName = " + newFileName)
#checks whether image file exits in folder or not
if (os.path.isfile(oldFileName)):
#creates duplicate copy of an image
for old_image, new_image in zip(df.ImageName,df.Image):
shutil.copy2(old_image,new_image)
else:
# if image not found in folder,then stores in log
logging.info(oldFileName)
# write into log
logger = logging.getLogger(oldFileName)
logger.debug(" <- This image was not found in the folder")
if __name__=="__main__":
obj = Image()
obj.image_fix()
Die Zurückverfolgungs ist
C:\Python27\python.exe D:/New/a.py Traceback (most recent call last):
File "D:/New/a.py", line 23, in <module> shutil.copy2(old_image,new_image)
File "C:\Python27\lib\shutil.py", line 130, in copy2 copyfile(src, dst)
File "C:\Python27\lib\shutil.py", line 82, in copyfile with open(src, 'rb') as fsrc:
IOError: [Errno 2] No such file or directory: 'R0056SS.jpg'
Was meinst du mit Absturz? Erhalten Sie eine Fehlermeldung? Wenn ja, bitte teilen Sie es. – Julien
C: \ Python27 \ python.exe D: /New/a.py Traceback (letzter Anruf zuletzt): Datei "D: /New/a.py", Zeile 23, in shutil.copy2 (old_image , new_image) Datei "C: \ Python27 \ lib \ shutil.py", Zeile 130, in copy2 copyfile (src, dst) Datei "C: \ Python27 \ lib \ shutil.py", Zeile 82, in copyfile mit open (src, 'rb') als fsrc: IOError: [Errno 2] Keine solche Datei oder Verzeichnis: 'R0056SS.jpg' –
sqllover999
Wie ist dieses Problem mit der Protokollierung verbunden? Erwarten Sie, dass der Logger Ausnahmen automatisch abfängt und protokolliert ??? –