aşağıdaki şekilde bir program yazdım, amacı jpg dosayaları bulup bunların exif ilgilerini okuyup bazılarını bir text dosyasına yazmak.
sorun şu ki 5 adet jpg dosya ile sorunsuz çalışıyor ancak aynı dosyaların kopyası bile olsa daha fazla sayıda dosyada hata veriyor. dosyaya yazdırırken sorun oluyordur diye işlem sonuna 1 saniye bekleme de koydum ama sonuç değişmedi
önce aldığım hata:
Traceback (most recent call last):
File "a.py", line 21, in <module>
bilgiler.read()
File "C:\Python27\lib\site-packages\pyexiv2\metadata.py", line 107, in read
self.__image = self._instantiate_image(self.filename)
File "C:\Python27\lib\site-packages\pyexiv2\metadata.py", line 74, in _instant
iate_image
raise IOError(ENOENT, os.strerror(ENOENT), filename)
IOError: [Errno 2] No such file or directory: 'Kopya.JPG'
isterseniz de kodu:
import os
import pyexiv2
import time
bilgiler = pyexiv2.ImageMetadata("1.JPG")
bilgiler.read()
ad = bilgiler.exif_keys
ada = bilgiler["Exif.Image.DateTime"]
print ada.raw_value
filename = "liste.txt"
FILE = open(filename,"w")
inFolder = "c:\Python27\\"
for root, dirs, files in os.walk(inFolder):
for name in files:
if name.endswith(".JPG"):
print name
bilgiler = pyexiv2.ImageMetadata(name)
bilgiler.read()
ada = bilgiler["Exif.Image.DateTime"]
print(name + " " + ada.raw_value +'\n')
FILE.writelines(name + " " + ada.raw_value +'\n')
time.sleep(2)
FILE.close()
No such file or directory: 'Kopya.JPG'
diyor, büyük ihtimallet 21. satır hangisiyse onda tam dosya yolu vermen gerekiyor. os.join.path falan. ilk beşi ile çalışması da aynı klasördeki jpg ler olması ile açıklanabilir.
irc.freenode.org #python
yalnız path ile ilgili sorun olmaması lazım zira aynı klasördeki diğer 3 dosyayı okuyor.
zaten dosyayı kendisi bulup işlem yapıyor elle vermedim pathide
demek istediğim şu : pyexiv2.ImageMetadata(os.path.join(root,name)) olması lazım sanırım.
ek: farkettim ki
kök klasördeki dosyaların aynısı bir alt klasöre kopyalamıştım
1.jpg --1.jpg
2.jpg --2.jpg
gibi..
şimdi kökteki dosyaların aynıları olursa alt klasörde okuyor ama mesela alt klasörde, kökte olmayan 3.jpg olursa hata veriyor
hemen deniyorum teşekkürler
sanırım oldu :D teşekkür ederim.