I\'m fairly new when it comes to programming, and have started out learning python.
What I want to do is to recolour sprites for a game, and I am given the original
for pix in filename:
iterates over the letters of the filename. So that's certainly not what you want. You'll probably want to replace that line by:
with open(filename) as current_file:
for pix in current_file:
(assuming Python 2.6) and indent the rest of the loop accordingly.
However, I'm not sure that the new for
loop does what you want unless by pix
you mean a line of text in the current file. If the files are binary picture files, you'll first need to read their contents correcty - not enough info in your post to guess what's right here.
The path is wrong because the backslashes need to be doubled up - backslash is an escape for special characters.
os.listdir
does not return open files, it returns filenames. You need to open the file using the filename.
os.listdir() returns a list of file names. Thus, filename
is a string. You need to open the file before iterating on it, I guess.
Also, be careful with backslashes in strings. They are mostly used for special escape sequences, so you need to escape them by doubling them. You could use the constant os.sep
to be more portable, or even use os.path.join()
:
folder = os.path.join('C:\\', 'Users', 'Sprinting', 'blue')