1
を移動すると、私のバッチファイルの名前を変更し、os.rename()
機能で、これまで私のバッチファイルのリネームでPythonのos.rename()に問題がある。ここでスクリプト
import os, re, shutil, random
mainpath = 'C:\\Users\\s3z\\Desktop\\pytest'
dirs = [d for d in os.listdir('.') if os.path.isdir(d)]
for index, name in enumerate(dirs):
subpath = name
os.chdir(name)
images = [i for i in os.listdir('.') if i[-4:] in ('.png', '.jpg', 'jpeg')]
basename = re.sub(r'\W+', '', name[0:10])
randid = str(random.uniform(0,1))[-4:]
for index, f in enumerate(images):
path = os.path.join(mainpath, subpath)
if f[-4:] == 'jpeg':
ext = '.jpeg'
else:
ext = f[-4:]
os.rename(os.path.join(path, f), os.path.join(path, basename + '_' + randid + '_' + str(index) + ext)
shutil.move(f, '..\..\COMMON')
os.chdir(os.pardir)
私が午前問題のスクリプトを動かしています。私は、スクリプトを実行すると、私は
File "bulk_image_organizer.py", line 19
shutil.move(f, '..\..\COMMON')
^
SyntaxError: invalid syntax
そして、私はラインアウト取る19
shutil.move(f, '..\..\COMMON')
と再び
File "bulk_image_organizer.py", line 19
os.chdir(os.pardir)
^
SyntaxError: invalid syntax
しかし、私にエラー変更を、それを実行しようとし得ますスクリプトが正常に動作するos.rename()
行を削除します。また、以下の
>>> for index, f in enumerate(images):
... os.rename(os.path.join(path, f), os.path.join(path, "new" + st
r(index) + ".jpg"))
...
にそれが正常に動作しますように私は、forループでのPython interpretterにos.rename()
ラインを実行したとき。だから私のスクリプトでは何が変わっていますか?