写成函数的形式,调用main函数执行
时间: 2024-10-07 16:04:27 浏览: 14
当然可以将上述代码封装成一个名为`rename_images_in_dir`的函数,然后在`main`函数中调用它。这里是一个完整的例子:
```python
import os
import glob
def rename_images_in_dir(directory='.'):
image_files = glob.glob(os.path.join(directory, '**', '*.jpg'), recursive=True) + \
glob.glob(os.path.join(directory, '**', '*.png'), recursive=True)
def rename_image(file_path):
base_name, ext = os.path.splitext(file_path)
index = int(os.path.basename(base_name).lstrip('0')) + 1
new_name = f'000{index}{ext}' if index < 1000 else f'{index}{ext}'
return new_name
for file in sorted(image_files, key=lambda x: int(os.path.basename(x).split('.')[0])):
old_name = file
new_name = rename_image(file)
if old_name != new_name:
print(f'Renaming {old_name} to {new_name}')
try:
os.rename(old_name, new_name)
except Exception as e:
print(f"Error renaming file: {e}")
# 主函数
def main():
directory = input("请输入需要遍历和重命名图片的目录(默认当前目录):")
if not directory:
directory = '.'
rename_images_in_dir(directory)
if __name__ == "__main__":
main()
```
在这个版本中,用户可以在运行时指定要操作的目录。如果在重命名过程中遇到错误,会捕获异常并打印相关信息。