-1

I have tried to do the below using pathlib instaed of os.

import sys
import os     

folder = sys.argv[1]
newfolder = sys.argv[2] 

for filename in os.listdir(folder):
    img = Image.open(f'{folder}{filename}')
    img.save(f'{newfolder}{filename}','png')
    print('All Done')

#for path in Path(folder).iterdir():
    #if path.is_file() and path.suffix == '.jpg':
        #img = Image.open(f'{folder}{path}')
        #img.save(f'{newfolder}{path}','png')

Tried this but not working...

Ghost Ops
  • 1,710
  • 2
  • 13
  • 23

2 Answers2

1

Change img.save(f'{newfolder}{filename}', 'png') to img.save(f'{newfolder}{filename}.png')

MisterMiyagi
  • 44,374
  • 10
  • 104
  • 119
Petr L.
  • 414
  • 5
  • 13
1

You can use os.path.join to merge multiple paths.

>>> import os
>>> os.path.join('folder', 'filename')
folder\\filename
>>> os.path.join('folder\folder2', 'filename')
folder\\folder2\\filename

Try this:

import sys
import os     
folder = sys.argv[1]
newfolder = sys.argv[2] 
   
for filename in os.listdir(folder):
    img = Image.open(os.path.join(folder, filename))
    img.save(os.path.join(newfolder, filename),'png')
print('All Done')